Ecasound Handling of LADSPA Plugin Latency

This article examines how Ecasound processes LADSPA (Linux Audio Developer's Simple Plugin API) plugins that introduce algorithmic delay or require lookahead buffers. Because Ecasound lacks an automatic Plugin Delay Compensation (PDC) engine and LADSPA v1 lacks a standardized latency reporting mechanism, users must understand the underlying signal flow to manage phase alignment and synchronization manually across parallel signal chains.

The LADSPA Specification Constraint

The core reason Ecasound does not automatically compensate for lookahead or high-latency plugins stems from the LADSPA v1 specification itself. Unlike modern plugin formats such as LV2 or VST3, the classic LADSPA standard does not provide an integrated, standardized control port or metadata field for plugins to report algorithmic latency to the host application. Without a unified API mechanism to declare required lookahead time, host applications cannot programmatically determine how many samples of delay a given plugin introduces.

Ecasound’s Buffer Processing Model

Ecasound operates using a synchronous, block-based processing engine. It reads audio from inputs, processes it through designated chain operators (including LADSPA plugins), and delivers it to outputs in fixed audio buffers configured by the -b (buffer size) parameter.

When a LADSPA plugin with internal lookahead—such as a lookahead limiter or a linear-phase equalizer—is inserted into an Ecasound chain, the plugin manages its own internal ring buffer. The plugin delays the output stream relative to the input stream to analyze upcoming samples. Because Ecasound treats every chain operator as an immediate real-time process within each processing cycle, it passes audio through the plugin without adjusting the timeline of parallel chains or un-effected tracks.

Consequences on Audio Routing

  1. Serial Chains (Single Track Processing): In a straightforward serial chain where a complete mix or a single track passes entirely through a lookahead plugin, the only side effect is a fixed time shift equal to the plugin's latency. In offline processing or rendering, this appears as an offset of silence at the beginning of the rendered file. In real-time monitoring, it manifests as latency between input capture and output monitoring.
  2. Parallel Chains (Phase Cancellation and Timing Drift): If an audio source is split across multiple chains—for example, in parallel compression or when processing individual drum tracks alongside an untreated overhead track—a lookahead plugin in one chain will push its signal out of phase with the others. Ecasound will not automatically delay the dry or untreated chains, leading to comb filtering, phase cancellation, or audible timing misalignment.

Managing Latency and Lookahead in Ecasound

To achieve sample-accurate alignment when using high-latency LADSPA plugins in Ecasound, you must apply manual compensation: