[ecasound] Chain setup made easier

From: Joel Roth <joelz@email-addr-hidden>
Date: Tue Jan 22 2008 - 07:02:03 EET

Hi Eca-Lovers and Eca-Tamers,

I've been working on tools to generate my Ecasound
chain setups. I just finished rewriting the core
in OO style.

I'd like to show you how easy it can be to
write a chain setup.

Hope you find it interesting. I'll be releasing
these tools sometime soon as perl modules.


-------------------- conditions -------------------------

        - current directory contains:

                piano.wav sax_1.wav, sax_2.wav, sax_4.wav

        - all chain templates (including mixdown) are active

-------------------- signal flow -------------------------

File --(3)-->loop,3--(J3)-->loop,111 |
Dev --(4)-->loop,4--(J4)-->loop,111 |--(Mix_link)-->loop,222
Dev --(5)-->loop,5--(J5)-->loop,111 |

loop,222--+----(Mixer_out)--> Dev
          |_____(Mixdown)---> File

Dev --(R4)--> file
Dev --(R5)--> file

The numbers in parentheses show the chain names.
An optimization pass will eliminate loops where the chain
needs to feed only one output.

Vol/pan/effects for individual tracks will be applied to
the numbered chains and also to the mixer chain Mix_link.

-------------------- code -------------------------

# initialize

use UI; # temporary name for the module suite
package UI;

my $sax = UI::Track->new( name => 'sax');

$sax->set(rw => 'MON');

my $piano = UI::Track->new( name => 'piano', ch_r => 2 );

my $vocal = UI::Track->new( name => 'vocal', ch_r => 3);

$tracker_bus->apply; # Apply templates to tracks to generate chains

                # These buses are created by default.
                # Any number of buses can be created.


---------------------- output ------------------------

# ecasound chainsetup file

# general

-B auto

# audio inputs

-a:3 -i:./sax_4.wav
-a:4,5,R4,R5 -f:s32_le,12,44100 -i:alsa,ice1712
-a:J3 -i:loop,3
-a:J4 -i:loop,4
-a:J5 -i:loop,5
-a:Mixer_out,Mixdown -i:loop,222

# post-input processing

-a:3 -erc:1,2
-a:4 -erc:1,2 -erc:2,1
-a:5 -erc:1,2 -erc:7,1

# pre-output processing

# audio outputs

-a:3 -o:loop,3
-a:4 -o:loop,4
-a:5 -o:loop,5
-a:J3,J4,J5 -o:loop,111
-a:Mixdown -f:s16_le,2,44100,i -o:./mix_1.wav
-a:Mixer_out -f:s16_le,2,44100,i -o:alsa,default
-a:R4 -f:s16_le,1,44100 -o:./piano_5.wav
-a:R5 -f:s16_le,1,44100 -o:./vocal_5.wav

Joel Roth
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
Ecasound-list mailing list
Received on Tue Jan 22 08:15:02 2008

This archive was generated by hypermail 2.1.8 : Tue Jan 22 2008 - 08:15:02 EET