Ecasound Master Bus Compression and Limiting
Ecasound can function effectively as a lightweight, low-latency master bus processor capable of multi-band compression and peak limiting. By leveraging its command-line routing capabilities, audio chain architecture, and native support for LADSPA plugins, Ecasound allows you to build sophisticated mastering chains directly in Linux and Unix environments. This article explains how Ecasound manages dynamic processing, routes multi-band signal chains, and integrates with system audio to serve as a real-time mastering processor.
Plugin Support for Mastering
Ecasound includes internal filters and envelopes, but dedicated
mastering requires standard plugin architectures. Ecasound natively
supports the LADSPA (Linux Audio Developer's Simple Plugin API) standard
via the -el: command-line flag.
To achieve multi-band compression and brickwall limiting, you must install appropriate LADSPA plugin suites, such as:
- SWH Plugins (Steve Harris): Provides multiband
splitters, compressors (
sc4), and thefastLookaheadLimiter. - Calf Plugins: Includes dedicated multi-band compression and mastering limiter modules.
- LSP (Linux Studio Plugins): Offers precise multi-band dynamic processors and transparent limiters.
Implementing Multi-Band Compression
You can implement multi-band compression in Ecasound using two distinct methods:
1. Dedicated Multi-Band Plugins
The simplest method utilizes a single LADSPA plugin that processes multiple frequency bands internally. You attach the plugin directly to your master audio chain:
ecasound -i:jack -o:jack -a:master -el:calf_multibandcompressor,parameters...2. Native Multi-Chain Frequency Splitting
Ecasound allows you to split an incoming audio stream into multiple parallel chains, filter each chain by frequency, compress them independently, and mix them back down to a single output.
- Low Band Chain: An input routed through a low-pass
filter (
-efl) followed by a standard LADSPA compressor (-el:sc4). - Mid Band Chain: The same input routed through band-pass filters followed by compression.
- High Band Chain: The input routed through a
high-pass filter (
-efh) followed by compression.
All chains are assigned to output to the same master output device, where Ecasound sums them back into a single stereo stream.
Applying the Brickwall Limiter
A brickwall limiter must sit as the final processing stage to catch transient peaks and prevent digital clipping.
Using the fastLookaheadLimiter from SWH plugins, you
append the limiter to the master output chain after the multi-band
compression stage:
-el:fastLookaheadLimiter,20,0,-0.1This configuration defines the lookahead buffer (in milliseconds), input gain attenuation, and the final output ceiling (e.g., -0.1 dBFS to prevent inter-sample clipping).
Real-Time Master Bus Integration
To use Ecasound as a master bus processor for a Digital Audio Workstation (DAW) or system-wide audio:
- Use JACK Audio Connection Kit: Run Ecasound using
JACK inputs and outputs (
-i:jack -o:jack). This provides low-latency inter-application routing. - Route DAW Master Outs to Ecasound: In your DAW, route the stereo mix output to the Ecasound input ports rather than directly to your hardware interface.
- Route Ecasound to Hardware: Route the processed Ecasound output ports to your physical sound card monitors.
Ecasound's headless, non-interactive mode (-B:rt for
real-time priority) ensures that the dynamic processing runs with
minimal CPU overhead, making it an efficient option for live monitoring
and final bus processing.