Subject: Re: [ecasound] LADSPA-plugins
From: Kai Vehmanen (k_AT_eca.cx)
Date: Tue Mar 04 2003 - 21:32:13 EET
On Mon, 3 Mar 2003, Julien Patrick Claassen wrote:
> I have another problem, or better another difficulty. I wanted to test some
> of the more unusual ladspa-plugins. Unusual means: unusual number of in- and
> outputs. I wanted to do it just on the fly. For example, there is the
> audio-input as a controller - I think this was the vc_delay. How can I tell
> ecasound, which channels to pass to a plugin and - in case of the
> audio-controller -, how can I tell ecasound as what to pass the audio-data? Is
Ok, this is in a way related to the earlier multitrack-thread. Unlike many
other large audio apps, ecasound has a relatively static signal routing
architecture - you cannot arbitrarily route signals and control data.
These constraints exist to make the command-line use simpler (specifying
complex signal graphs is difficut from the command line).
Some more info about this can be found from the user's guide (see
'Problems with panning mono files' and 'Rules for editing chainsetups'):
From the above page - rules for editing chainsetups:
- Every chain has exactly _one_ input and _one_ output.
- All inputs and outputs must be connected to some chain.
For every input/output, there is one and only one definition (example:
- All routing from and to chains is based on selecting a set of chains and
then specifying an input or output (example: ``-a:1,2 -i:file.ext'').
- All audio copying and mixing is done channel-wise. If you attach a
4-channel input and a two-channel output to a chain, chain will have 4
channels of audio, but only the first two channels will be written to the
> stepdemuxer, which takes 8 inputs and there are more plugins, that do even
> more absurd things interms of input/output channels. One for example has an
Now back to LADSPA plugins - all control ports (both input and output) are
accessed as ecasound effect parameters (i.e. -el:name,par1,par2 ..).
Audio-ports, on the other hand, are mapped channel-wise, if and only if
the chain to which the plugin is attached has sufficient number of
An an example:
ecasound -f:16,8,44100 -i 8ch_foo.wav -f:16,1,44100 -o 1ch_bar.wav -el:stepMuxer,20
This will feed the 8 channels of '8ch_foo.wav' to the step muxer's 8 input
ports, and stores the output of stepmuxer's one output port to
I hope this was helpful. It's true that for some scenarios this is not a
very easy approach... suggestions are welcome. :)
-- http://www.eca.cx Audio software for Linux!
This archive was generated by hypermail 2b28 : Tue Mar 04 2003 - 21:24:51 EET