Dynamic Range Compression in Ecasound
In Ecasound, dynamic range compression is natively handled by the
-eca peak limiter operator, while full-featured compression
curves are achieved using the -el LADSPA plugin host
operator. This article covers how to implement and configure the
built-in -eca operator to manage dynamic peaks, as well as
how to integrate LADSPA-based compressors for advanced dynamic
control.
The Native -eca
Operator
Ecasound includes a native dynamic processing effect designated by
the -eca operator. It functions as a peak limiter—an
aggressive, specialized form of dynamic range compression designed to
attenuate signals exceeding a specified ceiling.
Syntax and Parameters
-eca:peak-limit,release-time
peak-limit: The maximum allowed signal level expressed as a percentage (from0to100). Signals exceeding this threshold are automatically compressed downward to prevent clipping and restrict dynamic variance.release-time: The time in seconds it takes for the gain to return to unity after the signal drops below the target threshold (for example,0.05for 50 milliseconds).
Command Example
To compress an audio file so that signals do not exceed 85% of full scale with a fast release time of 50 milliseconds, use:
ecasound -i input.wav -eca:85,0.05 -o output.wavAdvanced Compression
Using LADSPA (-el)
While -eca works well for limiting peaks, standard
multi-parameter dynamic range compression—requiring adjustable attack,
knee, ratio, and makeup gain—relies on Ecasound’s LADSPA plugin
operator, -el.
Ecasound interfaces with external LADSPA compressor suites such as
Steve Harris’s sc4 compressor or the TAP plugins.
Command Example with SC4
Using the SC4 compressor plugin through the -el
operator:
ecasound -i input.wav -el:sc4,0,10,0.02,-12,4,0.1 -o output.wavIn this setup, the parameters define the compressor's root behavior:
- RMS/peak detection mode
- Attack time (ms)
- Release time (s)
- Threshold (dB)
- Compression ratio (e.g.,
4for 4:1) - Knee radius (dB)
Related Dynamic Processors in Ecasound
Dynamic manipulation often involves expansion alongside compression.
Ecasound pairs the -eca limiter with the -enm
operator, which functions as a noise gate to suppress dynamic range at
the lower end:
-enm:threshold_level,pre_hold_time,attack_time,post_hold_time,release_time
Combining -enm for low-level gating and
-eca (or -el:sc4) for high-level compression
creates a complete dynamic processing chain within a single Ecasound
command line.