How to Chain Multiple LADSPA Plugins in Ecasound

Ecasound fully supports chaining multiple LADSPA plugins sequentially within a single chainsetup or command-line chain. By appending multiple effect operators to the same audio chain, Ecasound routes the signal through each plugin in the exact order they are declared. This article explains how to configure sequential LADSPA processing in Ecasound, covers the required syntax, and provides working command-line examples.

Sequential Processing in Ecasound

When processing audio in Ecasound, each chain acts as a linear signal path. Audio flows from input sources, passes through chain operators (such as filters, controllers, and LADSPA plugins), and exits through outputs.

When you define multiple LADSPA plugins on a single chain, Ecasound processes them strictly from left to right. The processed output of the first plugin immediately becomes the input to the next plugin in the sequence, allowing you to build complex effects racks inside a single chain without creating intermediate audio files or complex routing networks.

Command-Line Syntax

LADSPA plugins are attached to an active chain using the -el option followed by the plugin label and its comma-separated control parameters:

-el:plugin_unique_label,param1,param2,...

To chain multiple plugins sequentially, declare the -el flag multiple times consecutively within the definition of your chain:

ecasound -i input.wav -o output.wav -el:first_plugin,params -el:second_plugin,params -el:third_plugin,params

You can also use -eli:plugin_id_number if you prefer referencing plugins by their numeric LADSPA ID rather than their string label.

Practical Example

Consider a scenario where an audio file needs a high-pass filter to remove low-frequency rumble, followed by a compressor to balance dynamics, and finally an amplifier plugin to adjust the master gain:

ecasound -i input.wav -o processed.wav \
  -el:highpass_iir,100,2 \
  -el:sc4,0,50,0,-20,4,2,0.1,10 \
  -el:amp_mono,3

In this command:

  1. input.wav enters the default chain.
  2. The highpass_iir filter removes frequencies below 100 Hz.
  3. The resulting audio is passed directly into the sc4 stereo compressor.
  4. The compressed signal enters the amp_mono plugin, applying a 3 dB gain boost.
  5. The final audio stream is written to processed.wav.

Configuration Considerations