How Ecasound Interprets Comma Separated Chains

This article provides an overview of how the Ecasound digital audio processing utility parses and handles comma-separated lists of chain names. In Ecasound, chains are independent signal paths that carry audio streams, and using comma-separated values allows operators to group multiple chains together. Understanding this syntax makes it possible to route inputs, outputs, and effects across multiple audio tracks efficiently without redundant configuration.

Chain Selection Mechanics

In Ecasound, the -a option designates the active chain for subsequent configuration arguments. When you provide a single name (such as -a:chain1), any following input, output, or effect parameters attach exclusively to that chain.

When you provide a comma-separated list of chain names (for example, -a:chain1,chain2,chain3), Ecasound treats all specified chains as currently active. Any options declared immediately afterward apply to every chain included in that list.

Distributing Inputs to Multiple Chains

When an input source (-i) is defined after selecting multiple chains using commas, Ecasound duplicates the audio feed across each chain:

ecasound -a:track1,track2 -i:stereo_source.wav

In this scenario, stereo_source.wav is assigned as the audio input for both track1 and track2. Ecasound splits the stream internally, allowing you to manipulate the same source material differently on each individual chain.

Applying Effects and Controllers

Audio operators (effects like -ea, -ef3, etc.) and controllers attached after a comma-separated chain declaration are instantiated on each listed chain separately:

ecasound -a:track1,track2 -ea:200

Ecasound interprets this by applying a 200% amplification effect to track1 and an identical, distinct 200% amplification effect to track2. The parameters are duplicated so that processing remains isolated per chain.

Routing Multiple Chains to Outputs

When defining an output (-o) after a comma-separated chain declaration, Ecasound mixes the outputs of all selected chains into that single destination:

ecasound -a:track1,track2 -o:mix.wav

Both track1 and track2 will route their post-processing audio into mix.wav. Ecasound sums the audio data from these chains at the output stage.

The "all" Keyword

Ecasound also recognizes the reserved keyword all within chain lists. Specifying -a:all acts as a comma-separated list containing every chain defined in the current setup up to that point. It can also be mixed into custom lists or used to append universal outputs and master effects across the entire session.