[LAD] Plugin buffer size restrictions

Stefano D'Angelo zanga.mail at gmail.com
Mon May 28 15:05:20 UTC 2012


2012/5/28 Fons Adriaensen <fons at linuxaudio.org>:
> On Mon, May 28, 2012 at 02:58:55AM +0300, Stefano D'Angelo wrote:
>
>> (Maybe just for the record) I meant one version for sample accurate
>> control (whether by accessing future values or by the host providing
>> latency compensation) and another for live usage (virtually
>> latency-free, but less accurate w.r.t. parameters).
>
> How much filtering or interpolation a plugin needs to do in
> order to avoid clicks, zipper noise or worse (e.g. instability)
> depends on what the plugin does. And on how it does it: for most
> functions you can have different algorithms that are absolutely
> equivalent as long as the parameters are fixed but that behave
> very differently when they change.
>
> If there is any difference between the two scenarios you mention
> it will be in the other sense: if the control data is played back
> from storage it can be 'smoothed' before.
>
> If the control input is 'live', that is from GUI events, MIDI,
> OSC or HID it will always need some filtering. The question then
> is if this is responsability of the host or of the plugin, or
> both.

IMO it's easily said: if control rate < audio rate it's plugin's
responsibility, otherwise the host feeds upsampled/filtered control
signals at audio rate to the plugin and all problems evaporate... but
then the plugin should "ask the host" for guarantees on how the
smoothing is performed to both avoid useless performance penalties and
to avoid noises/instabilities.

Stefano



More information about the Linux-audio-dev mailing list