[LAD] AMS to Ingen: VC to PCM

Fons Adriaensen fons at linuxaudio.org
Sun Sep 25 10:10:53 UTC 2011

On Sun, Sep 25, 2011 at 09:52:23AM +0100, Aurélien Leblond wrote:

> I'm porting the AMS internal modules to LV2 plugins to be used in Ingen.
> Small problem is, AMS uses VC (even the output of the VCOs that
> produce sound) when Ingen uses PCM...

?? You seem to be confusing some things.

AMS modules can have 3 types of ins/outs

1. Audio in/out ports. These are just blocks of samples, same
   as e.g. Jack buffers. Some call this 'PCM' but that is a

2. Control in/out ports. These are technically identical to
   audio ports (full sample rate), but the signals carried
   on them are normally not meant to be audio. How they are
   interpreted depends on the module and the particular port.
   Frequency control inputs can be linear or log, in the latter
   case that means 1/octave. Gain controls can be linear or log,
   there is AFAIK no fixed conversion factor for the latter. For
   example the VCA module uses 80dB/1 in exponential mode, but
   other gain controls may be different.

   Control ports are audio rate, but most modules/plugins subsample
   some or most of them. They either just use the first value in a
   block, or recompute internal paramters based on the last value 
   in a block and then interpolate them linearly.

   Since control signals are (at least officially) at audio rate,
   LADPSPA plugins designed to be used in AMS (e.g. mine) will  
   declare their control inputs as audio inputs. 

3. Input ports corresponding to GUI widgets. These are control rate,
   read once per block. They can be int or float. For continuous values
   the  sliders of built-in modules are always linear, any log/exp
   conversion is done internally. For plugins this is different, as
   a LADSPA can request the host to use a log/exp slider.



More information about the Linux-audio-dev mailing list