[LAD] LADSPA dilemma

Fons Adriaensen fons at kokkinizita.net
Sat Jun 16 09:14:50 UTC 2007


On Fri, Jun 15, 2007 at 10:12:02PM -0400, Paul Coccoli wrote:

> Is it an option to interpolate over a fixed interval regardless of
> block size (meaning the nframes parameter to the run() call)?  Or use
> the minimum of some small number of samples and nframes.

Yes, that is a good way to do it, and it's not much more
complicated.  

In some cases you really want a defined parameter speed, and in
that case you can use two levels of interpolation, the first on
the control values themselves, givig them a defined maximum
rate of change, and the second level on the internal values
for smoothing the steps of the first level. 

In such a system the interpolation can continue over several
run() calls, even for a single change. The parametric filter
in my FIL-plugins works this way. It means you have to keep
two values for each param, the current one, and a 'target'
value which is updated by the parameters suppplied on each
run(). 
 
All this is perfectly possible within LADSPA, and it doesn't
require any help from the host. Nor would such help simplify 
it.

> I implemented parameter smoothing over the entire run() call too when
> learning LADSPA.  It seemed somewhat naive, but apparently others did
> the same...

It depends on how you expect your plugin to be used. In many
cases you will have a fixed and relatively small period size,
and then smoothing over one run call will work perfectly.
But it's worth considering that plugins can be used for
off-line processing as well, as Tim has pointed out.

-- 
FA

Follie! Follie! Delirio vano è questo !





More information about the Linux-audio-dev mailing list