How Ecasound Handles Mono LADSPA on Multichannel Chains

When a mono LADSPA plugin (one input and one output) is inserted into a multi-channel audio chain, Ecasound automatically replicates the plugin across every audio channel in that chain. This article explains Ecasound’s automated channel-cloning mechanism, how control parameters are shared across instances, and how users can route multi-channel audio if they wish to avoid applying the mono effect to every channel simultaneously.

Automatic Plugin Instantiation

In Ecasound, audio chains have an assigned channel count (such as 2 for stereo, or 6 for 5.1 surround). When you attach a LADSPA plugin using the -el or -eli operators, Ecasound inspects the plugin’s audio port configuration.

If an N-channel chain encounters a mono LADSPA plugin (1 input, 1 output), Ecasound instantiates N identical copies of the plugin. Each audio channel passes through its own dedicated plugin instance in parallel:

This allows mono effects—such as standard EQs, compressors, or filters—to work seamlessly on stereo or surround chains without crashing or dropping channels.

Parameter Synchronization vs. Internal State

While multiple instances of the plugin are created, they share the exact control parameters provided on the command line or modified via the Ecasound Control Interface (ECI). If you automate or alter a control port (such as adjusting a filter cutoff frequency), Ecasound applies that change simultaneously across all instantiated clones.

However, the internal runtime memory (state) of each instance remains completely isolated. For example, a mono delay or reverb plugin duplicated on a stereo chain will maintain independent delay buffers for the left and right channels. Signals do not bleed between channels unless the plugin itself is explicitly designed to communicate across instances via external shared memory, which standard LADSPA plugins do not do.

Targeting Specific Channels

Because Ecasound defaults to processing all channels in the chain, applying a mono plugin to only a single channel requires explicit routing. You can isolate channels using Ecasound's built-in routing tools:

  1. Chain Splitting: Separate multichannel inputs into individual mono chains using -chcopy or -erc (route channels).
  2. Channel-Specific Processing: Place the LADSPA plugin exclusively on the chain designated for that specific channel.
  3. Recombining: Merge the chains back into a single multi-channel output or route them using loop devices (loop,label).

By default, users can rely on Ecasound to automatically handle mono LADSPA plugins transparently across all channels of a multi-channel chain without requiring manual channel splitting.