Re: [ecasound] channel manipulation

From: Patrick Shirkey <pshirkey@email-addr-hidden>
Date: Sat Sep 29 2012 - 11:54:11 EEST

On Sat, September 29, 2012 6:14 pm, Joel Roth wrote:
> Hi Patrick,
>
> You mention the learning curve of Ecasound. I think it
> reflects the curve of learning to think in
> terms of audio streams and operators for manipulating
> them. Similar difficulties dog those who would exercise
> the full capabilities of ALSA using .alsarc files.
>

It's more about the syntax. Being text based it is easy to make mistakes
in the signal flow but I am getting my head around it now. It's an elegant
way of getting things done once you know what you are doing.

> Part of the problem is the specifics of the language,
> however a major part is the problems of conceptually
> manipulating audio streams.
>
> Okay, that said...
>
> On Fri, Sep 28, 2012 at 11:23:09AM +1000, Patrick Shirkey wrote:
>> - Tested output with these two chains to make sure I'm not being stupid:
>>
>> ecasound -a:1 -i test-out.wav -o alsa
>> ecasound -a:1 -i test-out.wav -chmute:1 -chmute:2 -chmute:3 -chmute:4
>> -ea:1000 -chmix:1 -o alsa
>
>> I can see a very small waveform on channel 5,6 in audacity but there is
>> no
>> sound coming from those channels at all.
>
> If the signal on channels 5,6 is meant to be a stereo output, I might test
> like this.
>
> ecasound -i test-out.wav -chmove:5,1 -chmove 6,2
>
> Note 1: I believe the output defaults to ALSA, equivalent to -o
> alsa,default.
> Note 2: -chmove overwrites whatever was in the target channel
> so you don't need -chmute.
> Note 3: Stuff in higher channels is lost when routing to an
> output device having stereo width.
>
>
> Now I'll try interpreting your script. You didn't write
> fully (or I couldn't figure out fully from reading your
> previous mails) precisely what you want your script to accomplish.
>

The input file is a stereo track. The output file is a 6 channel track.

>> converter script:
>>
>> ecasound -t 5 -f:s16_be,6,48000 \
>> -a:1,2,3,4,5,6 -i TEST_1-2.aif \ # each chain 1-6 gets a copy of six
>> channel audio
>> -a:1 -chmute:2 \ # chain 1, channel 2 is muted, other 5 channels alive
>> -a:2 -chmute:1 \ # chain 2, channel 1 is muted, other 5 channels alive
>> -a:3 -chmix:3 \ # chain 3, all six channels mixed to channel 3
>> -a:4 -chmix:4 \ # chain 4, all six channels mixed to channel 4
>> -a:5 -chmute:1 \# chain 5, channel 1 is muted, other 5 channels alive
>> -a:6 -chmute:2 \ # chain 6, channel 2 is muted, other 5 channels alive
>> -a:5,6 -o loop,1 \ # chains 5 and 6 summed to loop device loop,1
>> -a:7,8 -i loop,1 \ # chains 7 and 8 each get copy of loop,1 stream
>> -a:7 -ea:200 -chmix:5 \ # chain 7, all channels amplified, then
> # summed in channel 5
>> -a:8 -chmix:6 \ # chain 8, all channels summed in channel 6
>> -a:all -o test-out.wav # all channels in all chains summed to
>> test-out.wav
>
>
> I think this may not be what you want to accomplish, because
> you're summing lots of copies of the same channels.
>

The input track is a stereo track so I am only summing copies of the left
and right signal input signal. The output track is a 6 channel track. I
have removed all the additional processing filters to minimise confusion
;-)

>
>> +++
>>
>> ecasound: ERROR: [ECA-SESSION] : "Invalid argument, unable to parse:
>> "-chmix:5""
>>
>> ecasound -t 5 -f:s16_be,6,48000 \
>> -a:1,2,3,4,5,6 -i TEST_1-2.aif \
>> -a:1 -chmute:2 \
>> -a:2 -chmute:1 \
>> -a:3 -chmix:3 \
>> -a:4 -chmix:4 \
>> -a:5 -chmute:1 \
>> -a:6 -chmute:2 \
>> -a:5,6 -chmix:5 -chcopy:5,6 \
>> -a:all -o test-out.wav
>>
>> +++
>
> Not sure what differently you want to accomplish
> with this second command.
>

With the first command I get silence on channels 5,6 output. With the
second command I am trying to chmix a:5,6 to channel 5 to see if that
gives me an audible signal on the output track. However it fails for some
reason. It doesn't want to chmix chain 5 and 6 at the same time. It is
happy to do them individually for chain 3 and 4. I'm not sure why that
would be a problem though.

--
Patrick Shirkey
Boost Hardware Ltd
------------------------------------------------------------------------------
How fast is your code?
3 out of 4 devs don\\\'t know how their code performs in production.
Find out how slow your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219672;13503038;z?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Sat Sep 29 12:15:02 2012

This archive was generated by hypermail 2.1.8 : Sat Sep 29 2012 - 12:15:02 EEST