Re: [linux-audio-dev] Questions about the LADSPA system

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Questions about the LADSPA system
From: Paul Davis (pbd_AT_Op.Net)
Date: Fri Sep 21 2001 - 18:03:39 EEST


>By looking at the LADSPA system, I was taken of surprise by something: is
>there no buffer for control bytes? I mean, if I want to process one frame
>of audio sample with, say, a volume control plugin, but I want that the
>value of the volume control changes during the whole frame, with a
>sinusoid for example, how can I do that? Shall I set the frame size to 1
>and change my control for each one-sized frame? I'm a bit dazzled with
>this one...

Its up to a plugin to decide how to handle control port value
changes. You may wish to use linear interpolation, cubic
interpolation, no interpolation, whatever. It may vary depending on
the state of the plugin internals and/or what the port value
controls. If the port value is a switch, for example, there is no
interpolation to be done.

LADSPA doesn't control the way in which a user may modify the control
port values. So the plugin has to be ready to accept any and all
values at its control ports, and use them however it sees fit. Since
its incredibly unlikely that anything will feed control port changes
at the audio sampling rate, the data you will see there are
necessarily a discontinous curve with respect to the audio
samples. Thus, you will *have* to do some kind of curve shaping if you
want a true "curve" of any kind.

BTW, you're using the word "frame" in a confusing fashion here. on LAD
as elsewhere, "frame" is generally used to mean the set of samples for
all channels during a single sampling interval. Eg. for a 12 channel
system, a 1 frame is 12 samples. I think it will be clearer if you use
the term "block".

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Sep 21 2001 - 18:04:21 EEST