Convolution Reverb in Ecasound via LADSPA
Ecasound fully supports applying convolution reverb impulse responses during audio mixdown using LADSPA plugins. This article covers how Ecasound's chainsetup architecture interfaces with LADSPA convolution engines, identifies the compatible plugins required to read impulse response (IR) files, and outlines the precise command-line routing needed to achieve a realistic acoustic mixdown.
Ecasound is a multitrack audio processing tool for Unix-like
environments that provides native support for the Linux Audio
Developer’s Simple Plugin API (LADSPA). To use convolution reverb in
Ecasound, you must pair the program with a LADSPA-compliant convolution
effect, most notably Tom Szilagyi's ir-ladspa plugin
library. Once installed on your system, Ecasound can access this plugin
directly within its audio processing chains during offline batch
mixdowns or real-time processing.
Locating the Convolution Plugin
Before configuring your mixdown, verify that the impulse response
plugin is installed and accessible in your system's LADSPA path
(typically /usr/lib/ladspa or
/usr/local/lib/ladspa). You can find the plugin label and
port configuration using standard LADSPA utilities:
analyseplugin ir.soThis output will detail the exact unique plugin ID, input ports,
output ports, and control parameters needed for Ecasound's
-el (enable LADSPA) operator.
Integrating the Plugin into an Ecasound Chainsetup
In Ecasound, plugins are assigned to chains using the
-el:plugin_label,param1,param2,... or
-eli:plugin_unique_id,param1,param2,... parameters.
To apply an impulse response during a mixdown:
- Assign Inputs and Routing: Group dry tracks into specific chains and route them into an effects bus or master chain.
- Apply the LADSPA Filter: Attach the convolution plugin to the targeted chain. The plugin accepts configuration parameters such as wet/dry mix, decay envelope settings, and the loaded impulse response parameters.
- Render the Output: Route the processed chains to a stereo output file (e.g., a WAV or FLAC file) to execute the offline render.
A basic command-line structure for mixing a dry audio track through an IR plugin during mixdown looks like this:
ecasound -a:dry -i:track.wav -o:loop,1 \
-a:reverb -i:loop,1 -el:ir,1,0,0,0,1,0 -o:mixdown.wavDepending on the specific build of the ir-ladspa plugin,
the impulse response WAV file can be loaded via parameter arguments,
host-side preset files, or configuration controls exposed by the
plugin's port declarations.
Performance and Mixdown Considerations
Convolution processing involves significant mathematical overhead via Fast Fourier Transforms (FFT). When performing mixdowns in Ecasound:
- Buffer Sizes: Adjust the buffer size using the
-b:framesoption (e.g.,-b:1024or-b:2048) to ensure clean processing blocks for the convolution algorithm. - Non-Real-Time Rendering: Mixdowns running directly to disk do not require strict low-latency settings, allowing Ecasound to run faster than real time depending on CPU capabilities and the length of the impulse response.
- Channel Configurations: Ensure the channel counts match between inputs, the IR engine (mono-to-stereo or true stereo), and the final mix target to avoid channel mismatch errors.