[ecasound] Channel mixing/routing & a (possible) bug/cleanup

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: [ecasound] Channel mixing/routing & a (possible) bug/cleanup
From: S. Massy (theanaloguekid@tak.net.dhis.org)
Date: Tue Mar 20 2001 - 18:15:26 EET


The latest in my serie of experimentations with ecasound has been with
channel mixing. My intent being to apply effects separately on each of
the two channels of a stereo file, thus enabling the possibility, for
example, of creating stereo chorus/flanging/phasing effects or to have
different delay parameters for the channels. Doing it non-real-time
doesn't seem to pose too great a problem although it is a two step
1) write the stereo file to two mono files (one per chanel)
2) Combine them back with two chains (thence on being able to set
whichever cop I like on each channel.)

Now I tried to figure out how to do that in real-time and came up with
the following setup:
-a:1,2 -f:s16_le,2,44100 -i:cdda.wav,
-a:3 -f:s16_le,1,44100 -i:loop,0,0
-a:4 -f:s16_le,1,44100 -i:loop,1,1

-a:1 -f:s16_le,1,44100 -o:loop,0,0
-a:2 -f:s16_le,1,44100 -o:loop,1,1
-a:3,4 -f:s16_le,2,44100 -o:alsa,sbl

-a:2 -erc:2.00,1.00
-a:4 -erc:1.00,2.00

This _almost_ works! Unfortunately, it seems that when the second
channel is copied over it also goes through as channel 1 so I
basically end up with channel 1 being played as it should but channel
2 being duplicated, playing both on left and right.
- Is my example right?
- Would there be a much simpler way to achieve what I want to do?
- Wouldn't a mute-channel operator be useful?

When I try the setup described above with -z:db it exits immediately
with a xrun warning whereas in nodb mode I get absolutely no xruns warning
or any other problem. In fact it occurs after "(audioio-alsa3)
prepare" and NOT "(audioio-alsa3) start" as would seem
normal. Moreover it looks like stale stuff from when the db system was
being tested as it doesn't respect noxruns and does not reset the
console properly either.
(BTW, the chunk of code generating that is in
audioio-buffered-proxy.cpp at line 119)

S. Massy

To unsubscribe send message 'unsubscribe' in the body of the
message to <ecasound-list-request@wakkanet.fi>.

New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Mar 20 2001 - 18:20:37 EET