[ecasound] ecasound + (2 inputs -> 4 outputs) LADSPA plugin - wrong channel assignment

From: Sergei Steshenko <sergstesh@email-addr-hidden>
Date: Sat Aug 23 2008 - 00:28:21 EEST

Hello All,

this is a tough one - I spent more than a week thinking it was my bug, now
I honestly think it's an ecasound problem - or I completely misunderstand
signal propagation in ecasound and what to specify on its command line.

First a working setup and its command line:

(export LADSPA_PATH=`pwd`/ladspa;ECASOUND=~/AFSWD/install/ecasound-2.5.1/binsh/ecasound;$ECASOUND -ddd -D -b 4096 -i 4_channels_with_signal_in_N.wav -eli:1010 -f 16,4,44100 -o 4_channels_with_signal_in_N.output_from_1010.wav)
.

The above command line was run 4 times, so N was 1, 2, 3, 4.

The above setup contains 1010 plugin, and the plugin has 2 inputs and
4 outputs.

In terms of LADSPA spec the plugin ports are numbered 0, 1 - the two
inputs, 2, 3, 4, 5 - the four outputs.

To be able to debug the whole thing I drastically simplified the plugin
- it just copies 0 -> 2, 3; 1 -> 4, 5.

The four involved input files are

4_channels_with_signal_in_1.wav
4_channels_with_signal_in_2.wav
4_channels_with_signal_in_3.wav
4_channels_with_signal_in_4.wav
.

All these input files are four channel ones, and yes, the four channels
are redundant since the 1010 plugin has only two inputs, but please read
on.

Each of the four input files has non-zero signal only in one of the four
channels according to the names.

So, with the above four input files the whole thing works as expected:

4_channels_with_signal_in_1.wav causes the same non-zero signal to be
present in the first two channels of

4_channels_with_signal_in_N.output_from_1010.wav (port number 2, 3)

, 4_channels_with_signal_in_2.wav causes the same non-zero signal to be
present in the last two channels of

4_channels_with_signal_in_N.output_from_1010.wav (port numbers 4, 5)

, the remaining two input files cause only zero signals in the

4_channels_with_signal_in_3.output_from_1010.wav
4_channels_with_signal_in_4.output_from_1010.wav

files.
Summarizing all this: the above setup confirms that the plugin copies
the signals from inputs to outputs as stated: 0 -> 2, 3; 1 -> 4, 5.

Now the failing setup and its command line:

(export LADSPA_PATH=`pwd`/ladspa;ECASOUND=~/AFSWD/install/ecasound-2.5.1/binsh/ecasound;$ECASOUND -ddd -D -b 4096 -i 2_channels_with_signal_in_K.wav -eli:1010 -f 16,4,44100 -o 2_channels_with_signal_in_K.output_from_1010.wav)
.

The command line was run twice with K = 1, 2.

Now

2_channels_with_signal_in_1.wav
2_channels_with_signal_in_2.wav

input files are two channel ones, i.e. number of channels matches number of
the plugin inputs.

Again, the input files have non-zero signal present only in one channel.

This setup causes non-zero signal to be present only in _one_ output
port

2_channels_with_signal_in_1.wav -> 2
2_channels_with_signal_in_2.wav -> 3

, output ports 4, 5 always have zero signal in them.

By construction of 1010 plugin presence of non-zero signal in only one of
its ports is impossible, but that's what I observe.

I suspect that in this case ecasound somehow copies input to output
bypassing the plugin altogether, but I have to specifically check this
- hopefully I'll check this in less than 24 hours.

Thanks,
  Sergei.

      

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Sat Aug 23 04:15:01 2008

This archive was generated by hypermail 2.1.8 : Sat Aug 23 2008 - 04:15:01 EEST