[linux-audio-dev] LADSPA output controller?

Kai Vehmanen kai.vehmanen at wakkanet.fi
Thu Nov 14 11:24:00 UTC 2002

On Tue, 12 Nov 2002, Mario Lang wrote:

> So I'd need to connect a audio/controller output
> to a controller input of another LADSPA plugin.  Do
> ladspa hosts like ecasound support this?  Or am I
> taking a completely wrong route here and it should
> be done differently?

A bit complicated, but possible:

ecasound -b:128 -f:16,2,44100 \
	-a:generator -i null -o null -el:analogueOsc,1,5,0.5,0.5 -eS:1 \
	-a:target -i foo.wav -o alsa -el:pitchScale,1.0 -ksv:1,0.5,2,1,1 -c

- analogueOsc generates audio data (5Hz sine wave, warmth=0.5, 
  instability=0.5) to the otherwise silent 'generator' chain
- -eS:1 stores the passing audio data to an audio stamp (ie. allows
  other parts of the network to access the audio data it sees)
- chain 'target' reads from foo.wav, applies the pitchScale LADSPA plugin
  and writes the processed data to the default ALSA pcm output
- -ksv converts the audio data from stamp 1 (-eS:1, ie. the analogueOsc
  output) into control data, scales the value to range [0.5,2.0], and 
  uses the resulting value to control the pitchScale coefficient
- the audio->control conversion is done by calculating RMS-volume for 
  each 128 (-b:128) sample block which is then used to update the
  LADSPA plugin parameter value

Of course, it's possible to use any audio input source (files,
real-time inputs, LADSPA plugins, effect presets, etc) in
the 'generator' chain. 

PS Ecasound has had this functionality since 1.9dev1 (Feb/2001),
   so for once (!) you don't have to get the latest CVS version
   to try this out. ;)

 Audio software for Linux!

More information about the Linux-audio-dev mailing list