Ecasound Audio Backend Environment Variables

Ecasound is a command-line multitrack audio processing utility for Unix-like operating systems that supports several audio subsystems, including ALSA, JACK, and OSS. While Ecasound primarily selects audio backends based on resource prefixes supplied to its input and output options (-i and -o), multiple environment variables directly and indirectly influence backend selection, server targets, and default hardware routing. This guide explains which environment variables impact Ecasound’s audio subsystem behavior and how to configure them.

The ECASOUND Variable

The primary environment variable provided directly by the application is ECASOUND.

When set, Ecasound reads the contents of the ECASOUND variable and parses them as default command-line parameters before processing arguments passed in the terminal. Because backend selection in Ecasound is defined through input and output specifiers, you can use this variable to force a default audio backend globally:

Any parameter supplied via the command line when invoking the program will interact with or override the flags declared in ECASOUND.

JACK Backend Environment Variables

When using the JACK audio subsystem (-i jack or -o jack), Ecasound relies on the standard libjack client library. The following environment variables govern how Ecasound discovers, starts, and connects to the JACK daemon:

ALSA Backend Environment Variables

When interacting with the Advanced Linux Sound Architecture (-i alsa or -o alsa), Ecasound communicates via alsa-lib. The underlying routing and default devices are affected by:

Sound Server Emulation Variables

For systems running sound servers like PulseAudio or PipeWire where legacy Open Sound System (OSS) compatibility is needed, wrapper variables modify how Ecasound targets audio hardware: