Chain Operators vs Audio Objects in Ecasound
In Ecasound, the primary functional difference lies in whether a component acts as an endpoint for data transfer or as an inline signal processor. Audio objects define where sound enters and leaves the processing graph as inputs and outputs, whereas chain operators modify, transform, or analyze the audio streams that flow through chains between those endpoints.
Audio Objects: Data Sources and Sinks
Audio objects (-i for inputs, -o for
outputs) represent the boundaries of the Ecasound environment. They are
responsible for reading audio data from external sources or writing
processed data to specific targets.
Audio objects handle formatting, sample rate translation, channel mapping, and buffer management for:
- Physical audio interfaces (such as ALSA, OSS, or JACK connections).
- Stored media (WAV, FLAC, MP3, and other supported audio file formats).
- Virtual and synthetic sources (null devices, test tones, or standard I/O streams).
Because audio objects function strictly as sources and sinks, they do not perform transformations on the signal itself other than the mechanics required to ingest or export the data stream.
Chain Operators: Inline Signal Processors
Chain operators (-e*, such as -ea for
amplification or LADSPA plugin wrappers) are processing modules attached
directly to signal pathways, known as chains. Once an audio stream is
ingested by an input audio object, it travels through one or more chains
where chain operators process the data buffers in sequential order.
Chain operators perform tasks such as:
- Amplitude adjustments, panning, and dynamic range compression.
- Filtering, equalization, and frequency manipulation.
- Applying time-based effects such as delays, reverbs, and modulation via built-in modules or external plugins.
- Analyzing signal properties, including peak detection and envelope tracking.
Unlike audio objects, chain operators cannot initiate or terminate an audio stream; they require an active audio signal provided by a chain to function.
Summary of Differences
The distinction can be summarized as input/output handling versus in-flight manipulation. Audio objects supply the raw material to the system or collect the finished result, while chain operators shape, process, and alter that material as it passes through the processing pipeline.