Ecasound Track Grouping for Simultaneous Faders

Ecasound manages multi-track fader adjustments through chain-based routing architecture and multi-chain parameter targeting rather than traditional visual mixer groups. This article explains how to group audio tracks in Ecasound to adjust multiple faders simultaneously, covering bus routing with loop devices, shared chain operators, and external real-time controller mapping.

Chains as Tracks

Ecasound does not use conventional DAW tracks; instead, it processes audio using "chains." A chain is a signal path that connects an input to an output through various chain operators (effects, filters, and gain stages). To perform simultaneous gain adjustments across multiple audio streams, you configure how these chains interact with gain operators (-ea for amplification) or route them through shared summing buses.

Submixing Using Loop Devices (Bus Routing)

The most robust method to control multiple faders simultaneously is routing distinct audio chains into an intermediate summing bus using loop devices. This mirrors the behavior of a standard mixer subgroup fader.

  1. Assign audio inputs to individual chains: Give each source track its own chain identifier.
  2. Route outputs to a virtual loop device: Direct the output of those chains to a shared loop device (loop,N).
  3. Create a master/group chain: Set the input of a new chain to read from that loop device.
  4. Apply gain control to the group: Attach the amplify operator (-ea) to the group chain.

Example configuration:

ecasound \
  -a:drums1 -i:kick.wav -o:loop,1 \
  -a:drums2 -i:snare.wav -o:loop,1 \
  -a:drums3 -i:hihat.wav -o:loop,1 \
  -a:drum_bus -i:loop,1 -ea:100 -o:alsa

In this setup, changing the -ea value of drum_bus scales the volume of the kick, snare, and hi-hat tracks concurrently, functioning as a master subgroup fader.

Multi-Chain Operator Addressing

Ecasound allows you to target multiple chains simultaneously using comma-separated chain names when attaching operators. If you need identical gain adjustments applied directly to source tracks rather than summing them first, you can assign an operator across multiple chains in a single declaration:

ecasound \
  -a:vox1 -i:lead.wav \
  -a:vox2 -i:backing.wav \
  -a:vox1,vox2 -ea:80 \
  -a:all -o:alsa

In interactive mode (Ecasound's CLI engine), you can select multiple chains at once and execute commands across the group:

c-select vox1,vox2
cop-select 1
cop-set 1,120

This sequence selects chains vox1 and vox2, chooses the first chain operator (the -ea gain stage), and sets its parameter to 120% simultaneously.

Real-Time External Control via MIDI and ECI

For live performance or mixing without a summing bus, simultaneous adjustments can be mapped externally: