Ecasound Offline Mixdown Faster Than Real-Time
Ecasound is fully capable of rendering multitrack projects faster than real-time during an offline mixdown. Because the engine decouples signal processing from audio hardware clocks when reading from and writing to disk, processing speeds are limited only by the host system's CPU and disk I/O performance. This article explains how Ecasound executes offline rendering, how to structure commands for maximum speed, and what factors influence render performance.
How Offline Rendering Works in Ecasound
Real-time audio constraints exist only when an audio chain interfaces directly with physical sound hardware (such as ALSA or OSS drivers) or an audio server running on a hardware clock (such as JACK).
When an Ecasound session routes exclusively from file inputs to a file output, the engine does not wait for a DAC clock. Instead, it pulls sample blocks through the assigned signal chain as rapidly as the CPU can compute them and writes the resulting stream to disk. On modern hardware, a project with basic gain staging, panning, and summing will typically render at dozens of times real-time speed.
Command-Line Structure for File-to-File Mixdown
To execute an offline mixdown, ensure all inputs and outputs specify standard audio files (such as WAV, FLAC, or raw PCM) rather than audio devices.
An example command mixing two stereo tracks down to a master stereo file:
ecasound \
-a:1 -i:track1.wav -ea:100 \
-a:2 -i:track2.wav -ea:80 \
-a:1,2 -o:mixdown.wavIn this setup:
- Each
-aflag assigns a chain. - The
-iflags specify local audio files as sources. - The
-oflag specifies a target file destination. - Chain routing (
-a:1,2 -o:mixdown.wav) automatically sums the streams into the output target.
Because no device parameters (such as /dev/dsp or
alsa) are present, Ecasound operates entirely in batch
mode, processing audio frames sequentially without throttling.
Performance Influences on Mixdown Speed
Several technical factors determine how much faster than real-time a render will run:
- Plugin Overhead: Complex DSP—such as heavy LADSPA reverbs, multi-band compressors, or sample-rate conversions—increases CPU load per block, lowering overall processing speed. Simple gain adjustments, panning, and mixing introduce negligible overhead.
- Storage Throughput: Projects with dozens of uncompressed audio tracks can saturate traditional hard drives. Fast NVMe SSDs minimize read and write bottlenecks when pulling high-channel-count audio data.
- Buffer Sizing: You can optimize I/O performance
during batch processing by increasing the internal buffer size using the
-b:buffersizeoption. Larger buffers reduce the frequency of system calls when transferring data between disk and processor memory.
Avoiding Accidental Real-Time Throttling
To ensure Ecasound does not fall back to real-time speeds:
- Avoid using real-time connection bridges (such as
-i:jackor-o:alsa). - Ensure external plugins invoked through LADSPA do not rely on external hardware timers or system clock synchronization.
- If running Ecasound within scripts or automated pipelines, run it directly without wrapper utilities that force real-time scheduling locks unless explicitly required by your operating environment.