Guide to Ecasound Chainsetup Configuration
This article provides an overview of the chainsetup architecture in Ecasound, detailing the mandatory components and structural rules required to establish a valid, fully functioning audio processing environment. Readers will learn how signal routing paths, inputs, and outputs interact within a chainsetup to form a complete, executable configuration for multitrack recording, processing, and playback.
In Ecasound, a chainsetup serves as the central framework for defining an entire audio processing session. It encapsulates the routing configuration, audio formats, input/output assignments, and any signal-processing effects applied to the audio streams. For a chainsetup to be considered complete and ready for execution, it must satisfy a precise set of structural requirements within the Ecasound configuration framework.
1. At Least One Active Chain
A chain represents a single signal path through which audio flows.
Within a chainsetup, you must define at least one chain (commonly named
default or designated by an explicit name such as
chain1). Chains serve as the intermediate conduits that
bind inputs to outputs and host digital signal processing (DSP)
operators, filters, and controllers.
2. At Least One Audio Input
Every functional chainsetup requires an audio source assigned to one or more chains. An input can be:
- An audio file (e.g., WAV, FLAC, Ogg Vorbis).
- A real-time hardware interface via ALSA, OSS, or CoreAudio.
- A virtual subsystem, such as a JACK audio server client.
- A synthetic source, such as a tone generator or null device.
An input must be explicitly attached to at least one valid chain to direct where its incoming audio data should flow.
3. At Least One Audio Output
Similar to inputs, a complete chainsetup requires a designated destination for processed audio. Valid outputs match the types supported for inputs, including audio files, hardware sound cards, JACK ports, or null endpoints. Audio outputs must also be mapped to at least one chain that receives processed signal data.
4. Unbroken Signal Routing
A valid chainsetup requires an unbroken signal pathway connecting inputs to outputs through the defined chains:
- Input-to-Chain Mapping: Each input feeds into one or more specified chains.
- Chain-to-Output Mapping: Each output receives audio from one or more specified chains.
If an input is connected to a chain, but that chain does not terminate at an output, or if an output is connected to a chain with no corresponding input, the chainsetup is incomplete and Ecasound will either report an error or produce no audio output upon engine activation.
5. Compatible Audio Stream Properties
A complete configuration requires consistent or properly converted audio parameters across all interconnected elements. These parameters include:
- Sampling Rate: The frequency of the audio (e.g., 44100 Hz, 48000 Hz).
- Channel Count: The number of audio channels (e.g., 1 for mono, 2 for stereo).
- Sample Format: The data bit-depth and representation (e.g., 16-bit linear, 32-bit float).
While Ecasound provides internal resampling and format conversion capabilities, these parameters must resolve cleanly across the chains without conflicting constraints.
6. Optional Components (Operators and Controllers)
While not strictly required for a setup to be complete, a chainsetup often includes:
- Chain Operators (
-eoptions): Volume adjustments, panning, dynamic compressors, and LADSPA plugins placed inside chains. - Controllers (
-koptions): Automation tools for modulating operator parameters (such as envelopes or LFOs) over time.
A chainsetup is formally complete when at least one audio input routes through at least one chain to at least one audio output with matched audio parameters, creating a runnable state that the Ecasound engine can initialize, buffer, and process.