Mute and Unmute Chains in Active Ecasound Sessions

Ecasound does not feature a dedicated, standalone toggle command for chain muting in its interactive mode. Instead, dynamically muting and unmuting specific audio chains during an active session is accomplished by attaching an amplify operator (-ea) to the chain and adjusting its gain level to either 0 or 100 in real time. This guide explains how to set up your chains for gain control and how to send interactive mode commands to silence and restore specific tracks on the fly.

1. Configure the Chain with an Amplify Operator

To control audio levels dynamically, each chain you wish to mute must include an amplify effect operator when launched. Start Ecasound in interactive mode (-c) with the -ea operator set to 100% on the designated chains:

ecasound -c -a:track1 -i:audio1.wav -ea:100 -o:default -a:track2 -i:audio2.wav -ea:100 -o:default

In this setup, -ea:100 acts as the first chain operator on both track1 and track2.

2. Enter the Interactive Engine

Start playback or processing from the interactive prompt:

start

Once running, the interactive prompt (ecasound ('h' for help) >) allows you to query, navigate, and adjust active parameters.

3. Mute a Specific Chain

To mute a chain, target the chain by name, select its amplify operator, and set the amplification factor to 0:

  1. Select the target chain:

    c-select track1
  2. Select the amplify operator:

    cop-select 1

    (Note: 1 refers to the index of the -ea operator on that chain.)

  3. Set the gain parameter to 0%:

    co-set 1 0

Parameter 1 of the -ea effect represents linear amplification percentage. Setting it to 0 completely silences the selected chain without stopping playback on other chains.

4. Unmute the Chain

To restore the audio signal to its normal volume, update the parameter back to 100:

  1. Select the chain (if not already focused):
    c-select track1
  2. Select the operator:
    cop-select 1
  3. Restore normal volume:
    co-set 1 100

The chain will immediately resume normal output while remaining synchronized with the rest of the session.