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. ;) -- http://www.eca.cx Audio software for Linux!