understanding loop device use

View: New views
4 Messages — Rating Filter:   Alert me  

understanding loop device use

by Dubphil :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I definitevely not understood how to use the loop devices, here is what
I want :

# ecasound chainsetup file

# general
-b:128 -r:-1 -z:intbuf -z:db,100000 -n:"test" -X -z:noxruns -z:nopsr
-z:mixmode,avg

# audio inputs
-a:1 -f:f32_le,2,48000  -i:jack
-a:2 -f:f32_le,2,48000  -i:jack
-a:3 -f:f32_le,2,48000  -i:"loop,1",1
-a:4 -f:f32_le,2,48000  -i:"loop,2",2
-a:5 -f:f32_le,2,48000  -i:"loop,1",1
-a:6 -f:f32_le,2,48000  -i:"loop,2",2

# audio outputs
-a:1 -f:f32_le,2,48000  -o:"loop,1",1
-a:2 -f:f32_le,2,48000  -o:"loop,2",2
-a:3,4,5,6 -f:f32_le,2,48000  -o:jack

and here is what ecasound tells :

dubphil@migratis ~ $ ecasound -c -s test.ecs
********************************************************************************
*        ecasound v2.4.7pre4_2.5.0 (C) 1997-2008 Kai Vehmanen and others  
********************************************************************************
- [ Chainsetup created (file) ]
------------------------------------------------
(eca-chainsetup-parser) Setting buffersize to (samples) 128.
(eca-chainsetup-parser) Raised-priority mode disabled.
(eca-chainsetup-parser) Enabling extra buffering on realtime devices.
(eca-chainsetup-parser) Using double-buffer of 100000 sample frames.
(eca-chainsetup-parser) Setting chainsetup name to "test".
(eca-chainsetup-parser) Updating outputs (rw-mode).
(eca-chainsetup-parser) Ignoring xruns during processing.
(eca-chainsetup-parser) Disabling precise-sample-rates with OSS audio
... devices.
(eca-chainsetup-parser) Enabling 'avg' mixmode.
(eca-chainsetup) Unable to connect: Chain "3" is not valid. Following
errors were
... detected:
(eca-chainsetup) Chain "3" is not connected to any input. All chains
must have
... exactly one valid input. (2.1-NO-CHAIN-INPUT)
(eca-chainsetup) Unable to connect: Chain "4" is not valid. Following
errors were
... detected:
(eca-chainsetup) Chain "4" is not connected to any input. All chains
must have
... exactly one valid input. (2.1-NO-CHAIN-INPUT)
(eca-chainsetup) WARNING: Input "loop,1" is not connected to any chain.
... (3.1-DISCON-INPUT)
(eca-chainsetup) WARNING: Input "loop,2" is not connected to any chain.
... (3.1-DISCON-INPUT)
(eca-session) Chainsetup loaded from 'test.ecs' is not valid!
- [ Session created ]
----------------------------------------------------------
---
ecasound: ERROR: [ECA-SESSION] : "Errors parsing session-level options.
Unable to create session."

I believed I could give a chain an output loop device and use this loop
as input for several other chains...
am I wrong ?

Regards

Philippe

-------------------------------------------------------------------------
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@...
https://lists.sourceforge.net/lists/listinfo/ecasound-list

Parent Message unknown Re: understanding loop device use

by Rémi R :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Hi,

I understood Loop with this ecasound rule :

"A chain setup must have one input and one output".

so on
-a:1 one input "bla bla bla" one output
-a: 2 one _input ""bla bla bla" one output.

Writing :
-a 1,2 mix or split the lines.

Now loop is a sort of pipe :

-a:1 one_input "bla bla bla" "a output loop pipe"
-a:2,3,4 "the input loop pipe"
-a:2 some plugin
-a:3 other plugin
-a:2 other plugin
-a:2,3,4 one output

a:1 -> output Pipe -> a:2,3,4 input pipe -> a:2 -> something -> -a:2,3,4 -> Output
                                                          -> a:3 -> other        ->
                                                          -> a:4 -> Other         ->

A true exemple from true life a multiband limitter for FM transmitter  a dirty sound :
-z:mixmode,sum -f:24,2,96000
-a:CSA -f:24,2,96000 -i alsahw,0,0 -el:fastLookaheadLimiter,0,-2,0.030 -el:fastLookaheadLimiter,0,-4,0.523 -el:fastLookaheadLimiter,6,-0.1,2 -o:loop,1

-a:LOW,MED,HIG -i:loop,1

-a:LOW -el:bandpass_iir,1500,3000,2 -el:fastLookaheadLimiter,0,-0.5,0.060
-a:MED -el:bandpass_iir,7500,7000,2 -el:fastLookaheadLimiter,0,-5,0.050
-a:HIG -el:bandpass_iir,14000,6000,2 -el:fastLookaheadLimiter,0,-20,0.030

-a:LOW,MED,HIG -f:16,2,96000 -o stdout


Best regards,
Remi+

> Message du 21/07/08 12:41

> De : "Dubphil"
> A : ecasound-list@...
> Copie à :
> Objet : [ecasound] understanding loop device use
>
>
> Hello,
>
> I definitevely not understood how to use the loop devices, here is what
> I want :
>
> # ecasound chainsetup file
>
> # general
> -b:128 -r:-1 -z:intbuf -z:db,100000 -n:"test" -X -z:noxruns -z:nopsr
> -z:mixmode,avg
>
> # audio inputs
> -a:1 -f:f32_le,2,48000 -i:jack
> -a:2 -f:f32_le,2,48000 -i:jack
> -a:3 -f:f32_le,2,48000 -i:"loop,1",1
> -a:4 -f:f32_le,2,48000 -i:"loop,2",2
> -a:5 -f:f32_le,2,48000 -i:"loop,1",1
> -a:6 -f:f32_le,2,48000 -i:"loop,2",2
>
> # audio outputs
> -a:1 -f:f32_le,2,48000 -o:"loop,1",1
> -a:2 -f:f32_le,2,48000 -o:"loop,2",2
> -a:3,4,5,6 -f:f32_le,2,48000 -o:jack
>
> and here is what ecasound tells :
>
> dubphil@migratis ~ $ ecasound -c -s test.ecs
> ********************************************************************************
> * ecasound v2.4.7pre4_2.5.0 (C) 1997-2008 Kai Vehmanen and others
> ********************************************************************************
> - [ Chainsetup created (file) ]
> ------------------------------------------------
> (eca-chainsetup-parser) Setting buffersize to (samples) 128.
> (eca-chainsetup-parser) Raised-priority mode disabled.
> (eca-chainsetup-parser) Enabling extra buffering on realtime devices.
> (eca-chainsetup-parser) Using double-buffer of 100000 sample frames.
> (eca-chainsetup-parser) Setting chainsetup name to "test".
> (eca-chainsetup-parser) Updating outputs (rw-mode).
> (eca-chainsetup-parser) Ignoring xruns during processing.
> (eca-chainsetup-parser) Disabling precise-sample-rates with OSS audio
> ... devices.
> (eca-chainsetup-parser) Enabling 'avg' mixmode.
> (eca-chainsetup) Unable to connect: Chain "3" is not valid. Following
> errors were
> ... detected:
> (eca-chainsetup) Chain "3" is not connected to any input. All chains
> must have
> ... exactly one valid input. (2.1-NO-CHAIN-INPUT)
> (eca-chainsetup) Unable to connect: Chain "4" is not valid. Following
> errors were
> ... detected:
> (eca-chainsetup) Chain "4" is not connected to any input. All chains
> must have
> ... exactly one valid input. (2.1-NO-CHAIN-INPUT)
> (eca-chainsetup) WARNING: Input "loop,1" is not connected to any chain.
> ... (3.1-DISCON-INPUT)
> (eca-chainsetup) WARNING: Input "loop,2" is not connected to any chain.
> ... (3.1-DISCON-INPUT)
> (eca-session) Chainsetup loaded from 'test.ecs' is not valid!
> - [ Session created ]
> ----------------------------------------------------------
> ---
> ecasound: ERROR: [ECA-SESSION] : "Errors parsing session-level options.
> Unable to create session."
>
> I believed I could give a chain an output loop device and use this loop
> as input for several other chains...
> am I wrong ?
>
> Regards
>
> Philippe
>
> -------------------------------------------------------------------------
> 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@...
> https://lists.sourceforge.net/lists/listinfo/ecasound-list
> ---------------------------------------------------------------------------------------
> Orange vous informe que cet e-mail a ete controle par l'anti-virus mail.
> Aucun virus connu a ce jour par nos services n'a ete detecte.
>
>
>

-------------------------------------------------------------------------
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@...
https://lists.sourceforge.net/lists/listinfo/ecasound-list

Re: understanding loop device use

by Dubphil :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Rémi BOURIER a écrit :

>
>
> Hi,
>
> I understood Loop with this ecasound rule :
>
> "A chain setup must have one input and one output".
>
> so on
> -a:1 one input "bla bla bla" one output
> -a: 2 one _input ""bla bla bla" one output.
>
> Writing :
> -a 1,2 mix or split the lines.
>
Thanks a lot Remy !

writing

-a:1,2 -i:"loop,1",1

instead of :

-a:1 -i:"loop,1",1
-a:2 -i:"loop,1",1

does the trick, what is the reason behind this ? I realy believed that
it was equivalent...

Regards

Philippe

-------------------------------------------------------------------------
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@...
https://lists.sourceforge.net/lists/listinfo/ecasound-list

Re: understanding loop device use

by Rémi R :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

 >Dubphil a écrit :
 > writing
 >
 > -a:1,2 -i:"loop,1",1
 >
 > instead of :
 >
 > -a:1 -i:"loop,1",1
 > -a:2 -i:"loop,1",1
 >
 > does the trick, what is the reason behind this ? I realy believed that
 > it was equivalent...

Thank's to (merci)

"loop" or/and "split/mix" that is the question...

The "loop pipe" has one and only one input. It has of course one and
only one output. It may be an other big ecasound rule.


Best regards,
A bientôt,
Remi+

PS : An other sample : a 4 band limiter with "amphasis curve" for FM
transmitter. Not a good sound... But it my be usefull for people tying
to make a multiband compressor.


-z:mixmode,sum -f:24,2,48000 -a:ENTREE -f:16,2,48000 -i
../Blind_94_48.wav -eli:1068,0.774 -o:loop,1

-a:1,2,3,4 -f:24,2,48000 -i loop,1

-a:1 -eli:1068,0.394 -el:lowpass_iir,147.533,2
-el:fastLookaheadLimiter,0,-8,0.072

-a:2 -eli:1068,0.385 -el:bandpass_iir,2018.278,3714.503,2
-el:fastLookaheadLimiter,0,0,0.010

-a:3 -eli:1068,0.385 -el:bandpass_iir,7585.547,6142.577,2
-el:fastLookaheadLimiter,0,-17,0.010

-a:4 -eli:1068,0.363 -el:highpass_iir,11695.970,2
-el:fastLookaheadLimiter,0,-20,0.010

-a:1,2,3,4 -f:16,2,48000 -o alsahw,0,0




-------------------------------------------------------------------------
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@...
https://lists.sourceforge.net/lists/listinfo/ecasound-list