Csound Csound-dev Csound-tekno Search About

[Csnd] Order of triggering instruments

Date2013-01-23 14:54
FromAlex Hofmann
Subject[Csnd] Order of triggering instruments
Hi,

I'm currently preparing a live-setup with Csound. Therefor I want to use 
Csnd Instruments as Live Audio Effects. Let's say:

(- Instr 5 Audio Input - [gaMyAudio = inch 1])
- Instr 10 Chorus
- Instr 11 Reverb
- Instr 12 Delay
- Instr 13 Tremolo
(- Instr 100 Audio Output [out = gaMyAudio])

I'm routing the audio signal through a global audio variable, which I 
modify in the instruments. When I now start and stop Instruments 10 to 
13 (per MIDI Notes), the order of execution seems to be determined by 
the instrument number.

I would prefere, that the order of triggering, changes the signal 
routing. That would allow to have a signal with delay and reverb:
a)
  Instr 5 Input
  Instr 11 Reverb
  Instr 12 Delay

... then release Instr 5, but Delay still runs/loops.
b)
  Instr 11 Reverb
  Instr 12 Delay
.. then trigger the input agian
  Instr 5 Input

and now to play a clean signal on top and NOT into the Delay agian.

Would that be possible to do somehow?

Best,
Alex



Date2013-01-23 15:02
FromVictor Lazzarini
SubjectRe: [Csnd] Order of triggering instruments
Maybe I am missing something here, but  all you need to do to get a  clean signal is to zero the reverb send. The order of execution will not matter, since the
signal goes straight to the output.


On 23 Jan 2013, at 14:54, Alex Hofmann wrote:

> Hi,
> 
> I'm currently preparing a live-setup with Csound. Therefor I want to use Csnd Instruments as Live Audio Effects. Let's say:
> 
> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> - Instr 10 Chorus
> - Instr 11 Reverb
> - Instr 12 Delay
> - Instr 13 Tremolo
> (- Instr 100 Audio Output [out = gaMyAudio])
> 
> I'm routing the audio signal through a global audio variable, which I modify in the instruments. When I now start and stop Instruments 10 to 13 (per MIDI Notes), the order of execution seems to be determined by the instrument number.
> 
> I would prefere, that the order of triggering, changes the signal routing. That would allow to have a signal with delay and reverb:
> a)
> Instr 5 Input
> Instr 11 Reverb
> Instr 12 Delay
> 
> ... then release Instr 5, but Delay still runs/loops.
> b)
> Instr 11 Reverb
> Instr 12 Delay
> .. then trigger the input agian
> Instr 5 Input
> 
> and now to play a clean signal on top and NOT into the Delay agian.
> 
> Would that be possible to do somehow?
> 
> Best,
> Alex
> 
> 
> 
> 
> Send bugs reports to the Sourceforge bug tracker
>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie





Date2013-01-23 15:18
FromAlex Hofmann
SubjectRe: [Csnd] Order of triggering instruments
AttachmentsRoutingGlobal03.csd  
I think this would work for the fixed setup of Delay>Reverb and plus 
clean signal. But my idea goes more into the direction of live plugging 
of instrument orders.
Let me attach a little example..
Midi Note Numbers 24 (C0 = Input) to 26 starting the fx instruments.

Alex


Am 23.01.13 16:02, schrieb Victor Lazzarini:
> Maybe I am missing something here, but  all you need to do to get a  clean signal is to zero the reverb send. The order of execution will not matter, since the
> signal goes straight to the output.
>
>
> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
>
>> Hi,
>>
>> I'm currently preparing a live-setup with Csound. Therefor I want to use Csnd Instruments as Live Audio Effects. Let's say:
>>
>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
>> - Instr 10 Chorus
>> - Instr 11 Reverb
>> - Instr 12 Delay
>> - Instr 13 Tremolo
>> (- Instr 100 Audio Output [out = gaMyAudio])
>>
>> I'm routing the audio signal through a global audio variable, which I modify in the instruments. When I now start and stop Instruments 10 to 13 (per MIDI Notes), the order of execution seems to be determined by the instrument number.
>>
>> I would prefere, that the order of triggering, changes the signal routing. That would allow to have a signal with delay and reverb:
>> a)
>> Instr 5 Input
>> Instr 11 Reverb
>> Instr 12 Delay
>>
>> ... then release Instr 5, but Delay still runs/loops.
>> b)
>> Instr 11 Reverb
>> Instr 12 Delay
>> .. then trigger the input agian
>> Instr 5 Input
>>
>> and now to play a clean signal on top and NOT into the Delay agian.
>>
>> Would that be possible to do somehow?
>>
>> Best,
>> Alex
>>
>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>>
> Dr Victor Lazzarini
> Senior Lecturer
> Dept. of Music
> NUI Maynooth Ireland
> tel.: +353 1 708 3545
> Victor dot Lazzarini AT nuim dot ie
>
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
>              https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>


Date2013-01-23 15:51
FromVictor Lazzarini
SubjectRe: [Csnd] Order of triggering instruments
Wouldn't duplicate instr numbers help?

instr 10, 12

endin

instr  11

endin

Then you can run first  10 + 11; later switch 10 off and start 12.

Victor


On 23 Jan 2013, at 15:18, Alex Hofmann wrote:

> I think this would work for the fixed setup of Delay>Reverb and plus clean signal. But my idea goes more into the direction of live plugging of instrument orders.
> Let me attach a little example..
> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx instruments.
> 
> Alex
> 
> 
> Am 23.01.13 16:02, schrieb Victor Lazzarini:
>> Maybe I am missing something here, but  all you need to do to get a  clean signal is to zero the reverb send. The order of execution will not matter, since the
>> signal goes straight to the output.
>> 
>> 
>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
>> 
>>> Hi,
>>> 
>>> I'm currently preparing a live-setup with Csound. Therefor I want to use Csnd Instruments as Live Audio Effects. Let's say:
>>> 
>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
>>> - Instr 10 Chorus
>>> - Instr 11 Reverb
>>> - Instr 12 Delay
>>> - Instr 13 Tremolo
>>> (- Instr 100 Audio Output [out = gaMyAudio])
>>> 
>>> I'm routing the audio signal through a global audio variable, which I modify in the instruments. When I now start and stop Instruments 10 to 13 (per MIDI Notes), the order of execution seems to be determined by the instrument number.
>>> 
>>> I would prefere, that the order of triggering, changes the signal routing. That would allow to have a signal with delay and reverb:
>>> a)
>>> Instr 5 Input
>>> Instr 11 Reverb
>>> Instr 12 Delay
>>> 
>>> ... then release Instr 5, but Delay still runs/loops.
>>> b)
>>> Instr 11 Reverb
>>> Instr 12 Delay
>>> .. then trigger the input agian
>>> Instr 5 Input
>>> 
>>> and now to play a clean signal on top and NOT into the Delay agian.
>>> 
>>> Would that be possible to do somehow?
>>> 
>>> Best,
>>> Alex
>>> 
>>> 
>>> 
>>> 
>>> Send bugs reports to the Sourceforge bug tracker
>>>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>>> 
>> Dr Victor Lazzarini
>> Senior Lecturer
>> Dept. of Music
>> NUI Maynooth Ireland
>> tel.: +353 1 708 3545
>> Victor dot Lazzarini AT nuim dot ie
>> 
>> 
>> 
>> 
>> 
>> Send bugs reports to the Sourceforge bug tracker
>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>> 
>> 
> 
> 
> Send bugs reports to the Sourceforge bug tracker
>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 
> 

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie





Date2013-01-23 17:45
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Order of triggering instruments
Me and Bernt Isak did some basic experiments on effects ordering about a year ago,
IIRC we came up with something that lets' you morph the order(!) dynamically,
but it needs an extra k-rate cycle when it does reverse ordering (e.g. from instr 5 to instr 4).
Would you allow an extra k-tick of latency? If so I'll see if I can find what we did.
best
Oeyvind


2013/1/23 Victor Lazzarini <Victor.Lazzarini@nuim.ie>
Wouldn't duplicate instr numbers help?

instr 10, 12

endin

instr  11

endin

Then you can run first  10 + 11; later switch 10 off and start 12.

Victor


On 23 Jan 2013, at 15:18, Alex Hofmann wrote:

> I think this would work for the fixed setup of Delay>Reverb and plus clean signal. But my idea goes more into the direction of live plugging of instrument orders.
> Let me attach a little example..
> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx instruments.
>
> Alex
>
>
> Am 23.01.13 16:02, schrieb Victor Lazzarini:
>> Maybe I am missing something here, but  all you need to do to get a  clean signal is to zero the reverb send. The order of execution will not matter, since the
>> signal goes straight to the output.
>>
>>
>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
>>
>>> Hi,
>>>
>>> I'm currently preparing a live-setup with Csound. Therefor I want to use Csnd Instruments as Live Audio Effects. Let's say:
>>>
>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
>>> - Instr 10 Chorus
>>> - Instr 11 Reverb
>>> - Instr 12 Delay
>>> - Instr 13 Tremolo
>>> (- Instr 100 Audio Output [out = gaMyAudio])
>>>
>>> I'm routing the audio signal through a global audio variable, which I modify in the instruments. When I now start and stop Instruments 10 to 13 (per MIDI Notes), the order of execution seems to be determined by the instrument number.
>>>
>>> I would prefere, that the order of triggering, changes the signal routing. That would allow to have a signal with delay and reverb:
>>> a)
>>> Instr 5 Input
>>> Instr 11 Reverb
>>> Instr 12 Delay
>>>
>>> ... then release Instr 5, but Delay still runs/loops.
>>> b)
>>> Instr 11 Reverb
>>> Instr 12 Delay
>>> .. then trigger the input agian
>>> Instr 5 Input
>>>
>>> and now to play a clean signal on top and NOT into the Delay agian.
>>>
>>> Would that be possible to do somehow?
>>>
>>> Best,
>>> Alex
>>>
>>>
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>>>
>> Dr Victor Lazzarini
>> Senior Lecturer
>> Dept. of Music
>> NUI Maynooth Ireland
>> tel.: +353 1 708 3545
>> Victor dot Lazzarini AT nuim dot ie
>>
>>
>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>>
>>
>
>
> Send bugs reports to the Sourceforge bug tracker
>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
> <RoutingGlobal03.csd>

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie





Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp

Date2013-01-23 17:57
FromAlex Hofmann
SubjectRe: [Csnd] Order of triggering instruments
This sounds tricky, but it's more the direction I had in mind.
If you have any examples from that experiments.. I'll be interested.

Best,
Alex

Am 23.01.13 18:45, schrieb Oeyvind Brandtsegg:
Me and Bernt Isak did some basic experiments on effects ordering about a year ago,
IIRC we came up with something that lets' you morph the order(!) dynamically,
but it needs an extra k-rate cycle when it does reverse ordering (e.g. from instr 5 to instr 4).
Would you allow an extra k-tick of latency? If so I'll see if I can find what we did.
best
Oeyvind


2013/1/23 Victor Lazzarini <Victor.Lazzarini@nuim.ie>
Wouldn't duplicate instr numbers help?

instr 10, 12

endin

instr  11

endin

Then you can run first  10 + 11; later switch 10 off and start 12.

Victor


On 23 Jan 2013, at 15:18, Alex Hofmann wrote:

> I think this would work for the fixed setup of Delay>Reverb and plus clean signal. But my idea goes more into the direction of live plugging of instrument orders.
> Let me attach a little example..
> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx instruments.
>
> Alex
>
>
> Am 23.01.13 16:02, schrieb Victor Lazzarini:
>> Maybe I am missing something here, but  all you need to do to get a  clean signal is to zero the reverb send. The order of execution will not matter, since the
>> signal goes straight to the output.
>>
>>
>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
>>
>>> Hi,
>>>
>>> I'm currently preparing a live-setup with Csound. Therefor I want to use Csnd Instruments as Live Audio Effects. Let's say:
>>>
>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
>>> - Instr 10 Chorus
>>> - Instr 11 Reverb
>>> - Instr 12 Delay
>>> - Instr 13 Tremolo
>>> (- Instr 100 Audio Output [out = gaMyAudio])
>>>
>>> I'm routing the audio signal through a global audio variable, which I modify in the instruments. When I now start and stop Instruments 10 to 13 (per MIDI Notes), the order of execution seems to be determined by the instrument number.
>>>
>>> I would prefere, that the order of triggering, changes the signal routing. That would allow to have a signal with delay and reverb:
>>> a)
>>> Instr 5 Input
>>> Instr 11 Reverb
>>> Instr 12 Delay
>>>
>>> ... then release Instr 5, but Delay still runs/loops.
>>> b)
>>> Instr 11 Reverb
>>> Instr 12 Delay
>>> .. then trigger the input agian
>>> Instr 5 Input
>>>
>>> and now to play a clean signal on top and NOT into the Delay agian.
>>>
>>> Would that be possible to do somehow?
>>>
>>> Best,
>>> Alex
>>>
>>>
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>>>
>> Dr Victor Lazzarini
>> Senior Lecturer
>> Dept. of Music
>> NUI Maynooth Ireland
>> tel.: +353 1 708 3545
>> Victor dot Lazzarini AT nuim dot ie
>>
>>
>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>>
>>
>
>
> Send bugs reports to the Sourceforge bug tracker
>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
> <RoutingGlobal03.csd>

Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie





Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp


Date2013-01-23 18:26
Fromjpff@cs.bath.ac.uk
SubjectRe: [Csnd] Order of triggering instruments
Changing the order of evaluation would break the clear semantics of csound.


> Wouldn't duplicate instr numbers help?
>
> instr 10, 12
>
> endin
>
> instr  11
>
> endin
>
> Then you can run first  10 + 11; later switch 10 off and start 12.
>
> Victor
>
>
> On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
>
>> I think this would work for the fixed setup of Delay>Reverb and plus
>> clean signal. But my idea goes more into the direction of live plugging
>> of instrument orders.
>> Let me attach a little example..
>> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx instruments.
>>
>> Alex
>>
>>
>> Am 23.01.13 16:02, schrieb Victor Lazzarini:
>>> Maybe I am missing something here, but  all you need to do to get a
>>> clean signal is to zero the reverb send. The order of execution will
>>> not matter, since the
>>> signal goes straight to the output.
>>>
>>>
>>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm currently preparing a live-setup with Csound. Therefor I want to
>>>> use Csnd Instruments as Live Audio Effects. Let's say:
>>>>
>>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
>>>> - Instr 10 Chorus
>>>> - Instr 11 Reverb
>>>> - Instr 12 Delay
>>>> - Instr 13 Tremolo
>>>> (- Instr 100 Audio Output [out = gaMyAudio])
>>>>
>>>> I'm routing the audio signal through a global audio variable, which I
>>>> modify in the instruments. When I now start and stop Instruments 10 to
>>>> 13 (per MIDI Notes), the order of execution seems to be determined by
>>>> the instrument number.
>>>>
>>>> I would prefere, that the order of triggering, changes the signal
>>>> routing. That would allow to have a signal with delay and reverb:
>>>> a)
>>>> Instr 5 Input
>>>> Instr 11 Reverb
>>>> Instr 12 Delay
>>>>
>>>> ... then release Instr 5, but Delay still runs/loops.
>>>> b)
>>>> Instr 11 Reverb
>>>> Instr 12 Delay
>>>> .. then trigger the input agian
>>>> Instr 5 Input
>>>>
>>>> and now to play a clean signal on top and NOT into the Delay agian.
>>>>
>>>> Would that be possible to do somehow?
>>>>
>>>> Best,
>>>> Alex
>>>>
>>>>
>>>>
>>>>
>>>> Send bugs reports to the Sourceforge bug tracker
>>>>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>> Discussions of bugs and features can be posted here
>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>>> "unsubscribe csound"
>>>>
>>> Dr Victor Lazzarini
>>> Senior Lecturer
>>> Dept. of Music
>>> NUI Maynooth Ireland
>>> tel.: +353 1 708 3545
>>> Victor dot Lazzarini AT nuim dot ie
>>>
>>>
>>>
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>> "unsubscribe csound"
>>>
>>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>           https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>> 
>
> Dr Victor Lazzarini
> Senior Lecturer
> Dept. of Music
> NUI Maynooth Ireland
> tel.: +353 1 708 3545
> Victor dot Lazzarini AT nuim dot ie
>
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> csound"
>
>
>
>



Date2013-01-23 18:55
FromVictor.Lazzarini@nuim.ie
SubjectRe: [Csnd] Order of triggering instruments
AttachmentsNone  None  

Date2013-01-23 19:22
FromAlex Hofmann
SubjectRe: [Csnd] Order of triggering instruments
Hi Victor,

multiple instrument numbers is good hint, but during my live performance 
I plan to trigger the instruments often and to change their order 
freely. Having fixed instrument numbers gives always a predefined 
ordering. I know this is a bit unusual idea, it's like you have a board 
of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:
> I don't think we're considering any changes to the order of evalution, 
> but just finding ways for Alex to achieve what he wants. I think using 
> multiple instrument numbers does what he wants.
>
> ----- Original Message -----
> From: jpff@cs.bath.ac.uk
> Date: Wednesday, January 23, 2013 6:27 pm
> Subject: Re: [Csnd] Order of triggering instruments
> To: csound@lists.bath.ac.uk
>
> > Changing the order of evaluation would break the clear semantics
> > of csound.
> >
> >
> > > Wouldn't duplicate instr numbers help?
> > >
> > > instr 10, 12
> > >
> > > endin
> > >
> > > instr  11
> > >
> > > endin
> > >
> > > Then you can run first  10 + 11; later switch 10 off and
> > start 12.
> > >
> > > Victor
> > >
> > >
> > > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> > >
> > >> I think this would work for the fixed setup of Delay>Reverb
> > and plus
> > >> clean signal. But my idea goes more into the direction of
> > live plugging
> > >> of instrument orders.
> > >> Let me attach a little example..
> > >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> > instruments.>>
> > >> Alex
> > >>
> > >>
> > >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> > >>> Maybe I am missing something here, but  all you need to
> > do to get a
> > >>> clean signal is to zero the reverb send. The order of
> > execution will
> > >>> not matter, since the
> > >>> signal goes straight to the output.
> > >>>
> > >>>
> > >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> > >>>
> > >>>> Hi,
> > >>>>
> > >>>> I'm currently preparing a live-setup with Csound. Therefor
> > I want to
> > >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> > >>>>
> > >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> > >>>> - Instr 10 Chorus
> > >>>> - Instr 11 Reverb
> > >>>> - Instr 12 Delay
> > >>>> - Instr 13 Tremolo
> > >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> > >>>>
> > >>>> I'm routing the audio signal through a global audio
> > variable, which I
> > >>>> modify in the instruments. When I now start and stop
> > Instruments 10 to
> > >>>> 13 (per MIDI Notes), the order of execution seems to be
> > determined by
> > >>>> the instrument number.
> > >>>>
> > >>>> I would prefere, that the order of triggering, changes the signal
> > >>>> routing. That would allow to have a signal with delay and reverb:
> > >>>> a)
> > >>>> Instr 5 Input
> > >>>> Instr 11 Reverb
> > >>>> Instr 12 Delay
> > >>>>
> > >>>> ... then release Instr 5, but Delay still runs/loops.
> > >>>> b)
> > >>>> Instr 11 Reverb
> > >>>> Instr 12 Delay
> > >>>> .. then trigger the input agian
> > >>>> Instr 5 Input
> > >>>>
> > >>>> and now to play a clean signal on top and NOT into the
> > Delay agian.
> > >>>>
> > >>>> Would that be possible to do somehow?
> > >>>>
> > >>>> Best,
> > >>>> Alex
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>> Send bugs reports to the Sourceforge bug tracker
> > >>>>
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> > Discussions of bugs and features can be posted here
> > >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> > >>>> "unsubscribe csound"
> > >>>>
> > >>> Dr Victor Lazzarini
> > >>> Senior Lecturer
> > >>> Dept. of Music
> > >>> NUI Maynooth Ireland
> > >>> tel.: +353 1 708 3545
> > >>> Victor dot Lazzarini AT nuim dot ie
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> Send bugs reports to the Sourceforge bug tracker
> > >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > >>> Discussions of bugs and features can be posted here
> > >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> > >>> "unsubscribe csound"
> > >>>
> > >>>
> > >>
> > >>
> > >> Send bugs reports to the Sourceforge bug tracker
> > >>
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> > Discussions of bugs and features can be posted here
> > >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> > "unsubscribe>> csound"
> > >>
> > >> 
> > >
> > > Dr Victor Lazzarini
> > > Senior Lecturer
> > > Dept. of Music
> > > NUI Maynooth Ireland
> > > tel.: +353 1 708 3545
> > > Victor dot Lazzarini AT nuim dot ie
> > >
> > >
> > >
> > >
> > >
> > > Send bugs reports to the Sourceforge bug tracker
> > > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > > Discussions of bugs and features can be posted here
> > > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> > "unsubscribe> csound"
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> > "unsubscribe csound"
> >
>
> Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
> National University of Ireland, Maynooth


Date2013-01-23 19:31
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Order of triggering instruments
Ok, here's our attempt

For the sake of example simplicity we used multiplication and addition as "effects", which also makes it easy to see the different order of execution just by looking at the produced output.

We put a routing instrument in between every effects processing instrument,
and the routing instrument contain inputs from all stages of the chain that you might want to insert at that point in the chain.
We used one single control input, crossfading between two different orderings (routings).
It should be possible to expand this to contain more than two effects, possibly still using a single control input to dynamically crossfade-browse through a series of different routings.

feel free to ask again if it does not make any sense...
Oeyvind

;*********************************************************************
<CsoundSynthesizer>
<CsOptions>
-otest.wav
</CsOptions>
<CsInstruments>
    sr = 44100 
    ksmps = 8
    nchnls = 2
    0dbfs = 2

    giSine        ftgen    0, 0, 65537, 10, 1
   
;*********************************************************************
    instr    1
a1    oscil    1, 440, giSine
    chnset    a1, "input"
    endin

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    chnset    ictrl1, "control"
    endin

;*********************************************************************
; routing
    instr    100
ain    chnget    "input"
ain2    chnget    "out2"

kctrl    chnget "control"
kin    = 1 - kctrl
kin2    = kctrl

a1    = (ain * kin) + (ain2 * kin2)

    chnset    a1, "in1"
    endin

;*********************************************************************
; multiplication
    instr    101
a1    chnget    "in1"

a0    = 0
    chnset    a0, "in1"

a1    = a1 * 0.5

    chnset    a1, "out1"
    endin

;*********************************************************************
; routing
    instr    102
ain    chnget    "input"
ain1    chnget    "out1"

kctrl    chnget "control"
kin    = kctrl
kin1    = 1 - kctrl

a1    = (ain * kin) + (ain1 * kin1)

    chnset    a1, "in2"
    endin

;*********************************************************************
; addition (offset)
    instr    103

a1    chnget    "in2"

a0    = 0
    chnset    a0, "in2"

a1    = a1 +1

    chnset    a1, "out2"
    endin

;*********************************************************************
; routing
    instr    104
ain1    chnget    "out1"
ain2    chnget    "out2"

kctrl    chnget "control"
kin1    = kctrl
kin2    = 1 - kctrl

a1    = (ain1 * kin1) + (ain2 * kin2)

    chnset    a1, "output"
    endin

;*********************************************************************
; output
    instr    201
a1    chnget    "output"
aclean    chnget     "input"

a0    = 0
    chnset    a0, "output"

    outch    1, a1, 2, aclean
    endin

;*********************************************************************
</CsInstruments>
<CsScore>
#define SCORELEN # 10 #
i1     1     $SCORELEN

i51     0     1    0    ; routing 1, normal order
i51     4     1    1    ; routing 2, reversed order

i100     1     $SCORELEN    ; routing
i101     1     $SCORELEN    ; multiplication
i102     1     $SCORELEN    ; routing
i103     1     $SCORELEN    ; addition
i104     1     $SCORELEN    ; routing
i201     1     $SCORELEN    ; output

e
</CsScore>
</CsoundSynthesizer>

;*********************************************************************


2013/1/23 Alex Hofmann <ahah@gmx.net>
Hi Victor,

multiple instrument numbers is good hint, but during my live performance I plan to trigger the instruments often and to change their order freely. Having fixed instrument numbers gives always a predefined ordering. I know this is a bit unusual idea, it's like you have a board of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:

I don't think we're considering any changes to the order of evalution, but just finding ways for Alex to achieve what he wants. I think using multiple instrument numbers does what he wants.

----- Original Message -----
From: jpff@cs.bath.ac.uk
Date: Wednesday, January 23, 2013 6:27 pm
Subject: Re: [Csnd] Order of triggering instruments
To: csound@lists.bath.ac.uk

> Changing the order of evaluation would break the clear semantics
> of csound.
>
>
> > Wouldn't duplicate instr numbers help?
> >
> > instr 10, 12
> >
> > endin
> >
> > instr  11
> >
> > endin
> >
> > Then you can run first  10 + 11; later switch 10 off and
> start 12.
> >
> > Victor
> >
> >
> > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> >
> >> I think this would work for the fixed setup of Delay>Reverb
> and plus
> >> clean signal. But my idea goes more into the direction of
> live plugging
> >> of instrument orders.
> >> Let me attach a little example..
> >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> instruments.>>
> >> Alex
> >>
> >>
> >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> >>> Maybe I am missing something here, but  all you need to
> do to get a
> >>> clean signal is to zero the reverb send. The order of
> execution will
> >>> not matter, since the
> >>> signal goes straight to the output.
> >>>
> >>>
> >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm currently preparing a live-setup with Csound. Therefor
> I want to
> >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> >>>>
> >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> >>>> - Instr 10 Chorus
> >>>> - Instr 11 Reverb
> >>>> - Instr 12 Delay
> >>>> - Instr 13 Tremolo
> >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> >>>>
> >>>> I'm routing the audio signal through a global audio
> variable, which I
> >>>> modify in the instruments. When I now start and stop
> Instruments 10 to
> >>>> 13 (per MIDI Notes), the order of execution seems to be
> determined by
> >>>> the instrument number.
> >>>>
> >>>> I would prefere, that the order of triggering, changes the signal
> >>>> routing. That would allow to have a signal with delay and reverb:
> >>>> a)
> >>>> Instr 5 Input
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>>
> >>>> ... then release Instr 5, but Delay still runs/loops.
> >>>> b)
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>> .. then trigger the input agian
> >>>> Instr 5 Input
> >>>>
> >>>> and now to play a clean signal on top and NOT into the
> Delay agian.
> >>>>
> >>>> Would that be possible to do somehow?
> >>>>
> >>>> Best,
> >>>> Alex
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Send bugs reports to the Sourceforge bug tracker
> >>>>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> Discussions of bugs and features can be posted here
> >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>>> "unsubscribe csound"
> >>>>
> >>> Dr Victor Lazzarini
> >>> Senior Lecturer
> >>> Dept. of Music
> >>> NUI Maynooth Ireland
> >>> tel.: +353 1 708 3545
> >>> Victor dot Lazzarini AT nuim dot ie
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Send bugs reports to the Sourceforge bug tracker
> >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >>> Discussions of bugs and features can be posted here
> >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>> "unsubscribe csound"
> >>>
> >>>
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe>> csound"
> >>
> >> <RoutingGlobal03.csd>
> >
> > Dr Victor Lazzarini
> > Senior Lecturer
> > Dept. of Music
> > NUI Maynooth Ireland
> > tel.: +353 1 708 3545
> > Victor dot Lazzarini AT nuim dot ie
> >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe> csound"
> >
> >
> >
> >
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth



Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp

Date2013-01-23 19:35
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Order of triggering instruments
.... also,
replacing instr 51 with the one below will give the option of smooth crossfading while all effects are still active
Oeyvind

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    istart     chnget "control"
    kval    line istart, p3, ictrl1
    chnset    kval, "control"
    endin



2013/1/23 Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no>
Ok, here's our attempt

For the sake of example simplicity we used multiplication and addition as "effects", which also makes it easy to see the different order of execution just by looking at the produced output.

We put a routing instrument in between every effects processing instrument,
and the routing instrument contain inputs from all stages of the chain that you might want to insert at that point in the chain.
We used one single control input, crossfading between two different orderings (routings).
It should be possible to expand this to contain more than two effects, possibly still using a single control input to dynamically crossfade-browse through a series of different routings.

feel free to ask again if it does not make any sense...
Oeyvind

;*********************************************************************
<CsoundSynthesizer>
<CsOptions>
-otest.wav
</CsOptions>
<CsInstruments>
    sr = 44100 
    ksmps = 8
    nchnls = 2
    0dbfs = 2

    giSine        ftgen    0, 0, 65537, 10, 1
   
;*********************************************************************
    instr    1
a1    oscil    1, 440, giSine
    chnset    a1, "input"
    endin

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    chnset    ictrl1, "control"
    endin

;*********************************************************************
; routing
    instr    100
ain    chnget    "input"
ain2    chnget    "out2"

kctrl    chnget "control"
kin    = 1 - kctrl
kin2    = kctrl

a1    = (ain * kin) + (ain2 * kin2)

    chnset    a1, "in1"
    endin

;*********************************************************************
; multiplication
    instr    101
a1    chnget    "in1"

a0    = 0
    chnset    a0, "in1"

a1    = a1 * 0.5

    chnset    a1, "out1"
    endin

;*********************************************************************
; routing
    instr    102
ain    chnget    "input"
ain1    chnget    "out1"

kctrl    chnget "control"
kin    = kctrl
kin1    = 1 - kctrl

a1    = (ain * kin) + (ain1 * kin1)

    chnset    a1, "in2"
    endin

;*********************************************************************
; addition (offset)
    instr    103

a1    chnget    "in2"

a0    = 0
    chnset    a0, "in2"

a1    = a1 +1

    chnset    a1, "out2"
    endin

;*********************************************************************
; routing
    instr    104
ain1    chnget    "out1"
ain2    chnget    "out2"

kctrl    chnget "control"
kin1    = kctrl
kin2    = 1 - kctrl

a1    = (ain1 * kin1) + (ain2 * kin2)

    chnset    a1, "output"
    endin

;*********************************************************************
; output
    instr    201
a1    chnget    "output"
aclean    chnget     "input"

a0    = 0
    chnset    a0, "output"

    outch    1, a1, 2, aclean
    endin

;*********************************************************************
</CsInstruments>
<CsScore>
#define SCORELEN # 10 #
i1     1     $SCORELEN

i51     0     1    0    ; routing 1, normal order
i51     4     1    1    ; routing 2, reversed order

i100     1     $SCORELEN    ; routing
i101     1     $SCORELEN    ; multiplication
i102     1     $SCORELEN    ; routing
i103     1     $SCORELEN    ; addition
i104     1     $SCORELEN    ; routing
i201     1     $SCORELEN    ; output

e
</CsScore>
</CsoundSynthesizer>

;*********************************************************************


2013/1/23 Alex Hofmann <ahah@gmx.net>
Hi Victor,

multiple instrument numbers is good hint, but during my live performance I plan to trigger the instruments often and to change their order freely. Having fixed instrument numbers gives always a predefined ordering. I know this is a bit unusual idea, it's like you have a board of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:

I don't think we're considering any changes to the order of evalution, but just finding ways for Alex to achieve what he wants. I think using multiple instrument numbers does what he wants.

----- Original Message -----
From: jpff@cs.bath.ac.uk
Date: Wednesday, January 23, 2013 6:27 pm
Subject: Re: [Csnd] Order of triggering instruments
To: csound@lists.bath.ac.uk

> Changing the order of evaluation would break the clear semantics
> of csound.
>
>
> > Wouldn't duplicate instr numbers help?
> >
> > instr 10, 12
> >
> > endin
> >
> > instr  11
> >
> > endin
> >
> > Then you can run first  10 + 11; later switch 10 off and
> start 12.
> >
> > Victor
> >
> >
> > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> >
> >> I think this would work for the fixed setup of Delay>Reverb
> and plus
> >> clean signal. But my idea goes more into the direction of
> live plugging
> >> of instrument orders.
> >> Let me attach a little example..
> >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> instruments.>>
> >> Alex
> >>
> >>
> >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> >>> Maybe I am missing something here, but  all you need to
> do to get a
> >>> clean signal is to zero the reverb send. The order of
> execution will
> >>> not matter, since the
> >>> signal goes straight to the output.
> >>>
> >>>
> >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm currently preparing a live-setup with Csound. Therefor
> I want to
> >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> >>>>
> >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> >>>> - Instr 10 Chorus
> >>>> - Instr 11 Reverb
> >>>> - Instr 12 Delay
> >>>> - Instr 13 Tremolo
> >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> >>>>
> >>>> I'm routing the audio signal through a global audio
> variable, which I
> >>>> modify in the instruments. When I now start and stop
> Instruments 10 to
> >>>> 13 (per MIDI Notes), the order of execution seems to be
> determined by
> >>>> the instrument number.
> >>>>
> >>>> I would prefere, that the order of triggering, changes the signal
> >>>> routing. That would allow to have a signal with delay and reverb:
> >>>> a)
> >>>> Instr 5 Input
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>>
> >>>> ... then release Instr 5, but Delay still runs/loops.
> >>>> b)
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>> .. then trigger the input agian
> >>>> Instr 5 Input
> >>>>
> >>>> and now to play a clean signal on top and NOT into the
> Delay agian.
> >>>>
> >>>> Would that be possible to do somehow?
> >>>>
> >>>> Best,
> >>>> Alex
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Send bugs reports to the Sourceforge bug tracker
> >>>>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> Discussions of bugs and features can be posted here
> >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>>> "unsubscribe csound"
> >>>>
> >>> Dr Victor Lazzarini
> >>> Senior Lecturer
> >>> Dept. of Music
> >>> NUI Maynooth Ireland
> >>> tel.: +353 1 708 3545
> >>> Victor dot Lazzarini AT nuim dot ie
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Send bugs reports to the Sourceforge bug tracker
> >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >>> Discussions of bugs and features can be posted here
> >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>> "unsubscribe csound"
> >>>
> >>>
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe>> csound"
> >>
> >> <RoutingGlobal03.csd>
> >
> > Dr Victor Lazzarini
> > Senior Lecturer
> > Dept. of Music
> > NUI Maynooth Ireland
> > tel.: +353 1 708 3545
> > Victor dot Lazzarini AT nuim dot ie
> >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe> csound"
> >
> >
> >
> >
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth



Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"







--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp

Date2013-01-23 19:36
FromJustin Smith
SubjectRe: [Csnd] Order of triggering instruments
The problem with that layout is that to add and then multiply, you then have an extra ksmps delay - and any step in the routing which goes back to a lower numbered instrument would introduce yet another ksmps delay cumulatively.

If you use multiple instrument numbers with a UDO to position them on invocation, you can freely reorder without having to delay the signal by some multiple of ksmps:

UDO fragment:
...
iinstr = iposition*10+idx
...

instr "distortion", 2, 12, 22, 32, 42, 52, 62, 72, 82, 92, 102
...
endin

instr "reson", 3, 13, 23, 33, 43, 53, 63, 73, 83, 93, 103
...
endin

instr "reverb", 4, 14, 24, 34, 44, 54, 64, 74, 84, 94, 104
...
endin


On Wed, Jan 23, 2013 at 11:35 AM, Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no> wrote:
.... also,
replacing instr 51 with the one below will give the option of smooth crossfading while all effects are still active
Oeyvind

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    istart     chnget "control"
    kval    line istart, p3, ictrl1
    chnset    kval, "control"
    endin



2013/1/23 Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no>
Ok, here's our attempt

For the sake of example simplicity we used multiplication and addition as "effects", which also makes it easy to see the different order of execution just by looking at the produced output.

We put a routing instrument in between every effects processing instrument,
and the routing instrument contain inputs from all stages of the chain that you might want to insert at that point in the chain.
We used one single control input, crossfading between two different orderings (routings).
It should be possible to expand this to contain more than two effects, possibly still using a single control input to dynamically crossfade-browse through a series of different routings.

feel free to ask again if it does not make any sense...
Oeyvind

;*********************************************************************
<CsoundSynthesizer>
<CsOptions>
-otest.wav
</CsOptions>
<CsInstruments>
    sr = 44100 
    ksmps = 8
    nchnls = 2
    0dbfs = 2

    giSine        ftgen    0, 0, 65537, 10, 1
   
;*********************************************************************
    instr    1
a1    oscil    1, 440, giSine
    chnset    a1, "input"
    endin

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    chnset    ictrl1, "control"
    endin

;*********************************************************************
; routing
    instr    100
ain    chnget    "input"
ain2    chnget    "out2"

kctrl    chnget "control"
kin    = 1 - kctrl
kin2    = kctrl

a1    = (ain * kin) + (ain2 * kin2)

    chnset    a1, "in1"
    endin

;*********************************************************************
; multiplication
    instr    101
a1    chnget    "in1"

a0    = 0
    chnset    a0, "in1"

a1    = a1 * 0.5

    chnset    a1, "out1"
    endin

;*********************************************************************
; routing
    instr    102
ain    chnget    "input"
ain1    chnget    "out1"

kctrl    chnget "control"
kin    = kctrl
kin1    = 1 - kctrl

a1    = (ain * kin) + (ain1 * kin1)

    chnset    a1, "in2"
    endin

;*********************************************************************
; addition (offset)
    instr    103

a1    chnget    "in2"

a0    = 0
    chnset    a0, "in2"

a1    = a1 +1

    chnset    a1, "out2"
    endin

;*********************************************************************
; routing
    instr    104
ain1    chnget    "out1"
ain2    chnget    "out2"

kctrl    chnget "control"
kin1    = kctrl
kin2    = 1 - kctrl

a1    = (ain1 * kin1) + (ain2 * kin2)

    chnset    a1, "output"
    endin

;*********************************************************************
; output
    instr    201
a1    chnget    "output"
aclean    chnget     "input"

a0    = 0
    chnset    a0, "output"

    outch    1, a1, 2, aclean
    endin

;*********************************************************************
</CsInstruments>
<CsScore>
#define SCORELEN # 10 #
i1     1     $SCORELEN

i51     0     1    0    ; routing 1, normal order
i51     4     1    1    ; routing 2, reversed order

i100     1     $SCORELEN    ; routing
i101     1     $SCORELEN    ; multiplication
i102     1     $SCORELEN    ; routing
i103     1     $SCORELEN    ; addition
i104     1     $SCORELEN    ; routing
i201     1     $SCORELEN    ; output

e
</CsScore>
</CsoundSynthesizer>

;*********************************************************************


2013/1/23 Alex Hofmann <ahah@gmx.net>
Hi Victor,

multiple instrument numbers is good hint, but during my live performance I plan to trigger the instruments often and to change their order freely. Having fixed instrument numbers gives always a predefined ordering. I know this is a bit unusual idea, it's like you have a board of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:

I don't think we're considering any changes to the order of evalution, but just finding ways for Alex to achieve what he wants. I think using multiple instrument numbers does what he wants.

----- Original Message -----
From: jpff@cs.bath.ac.uk
Date: Wednesday, January 23, 2013 6:27 pm
Subject: Re: [Csnd] Order of triggering instruments
To: csound@lists.bath.ac.uk

> Changing the order of evaluation would break the clear semantics
> of csound.
>
>
> > Wouldn't duplicate instr numbers help?
> >
> > instr 10, 12
> >
> > endin
> >
> > instr  11
> >
> > endin
> >
> > Then you can run first  10 + 11; later switch 10 off and
> start 12.
> >
> > Victor
> >
> >
> > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> >
> >> I think this would work for the fixed setup of Delay>Reverb
> and plus
> >> clean signal. But my idea goes more into the direction of
> live plugging
> >> of instrument orders.
> >> Let me attach a little example..
> >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> instruments.>>
> >> Alex
> >>
> >>
> >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> >>> Maybe I am missing something here, but  all you need to
> do to get a
> >>> clean signal is to zero the reverb send. The order of
> execution will
> >>> not matter, since the
> >>> signal goes straight to the output.
> >>>
> >>>
> >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm currently preparing a live-setup with Csound. Therefor
> I want to
> >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> >>>>
> >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> >>>> - Instr 10 Chorus
> >>>> - Instr 11 Reverb
> >>>> - Instr 12 Delay
> >>>> - Instr 13 Tremolo
> >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> >>>>
> >>>> I'm routing the audio signal through a global audio
> variable, which I
> >>>> modify in the instruments. When I now start and stop
> Instruments 10 to
> >>>> 13 (per MIDI Notes), the order of execution seems to be
> determined by
> >>>> the instrument number.
> >>>>
> >>>> I would prefere, that the order of triggering, changes the signal
> >>>> routing. That would allow to have a signal with delay and reverb:
> >>>> a)
> >>>> Instr 5 Input
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>>
> >>>> ... then release Instr 5, but Delay still runs/loops.
> >>>> b)
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>> .. then trigger the input agian
> >>>> Instr 5 Input
> >>>>
> >>>> and now to play a clean signal on top and NOT into the
> Delay agian.
> >>>>
> >>>> Would that be possible to do somehow?
> >>>>
> >>>> Best,
> >>>> Alex
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Send bugs reports to the Sourceforge bug tracker
> >>>>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> Discussions of bugs and features can be posted here
> >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>>> "unsubscribe csound"
> >>>>
> >>> Dr Victor Lazzarini
> >>> Senior Lecturer
> >>> Dept. of Music
> >>> NUI Maynooth Ireland
> >>> tel.: +353 1 708 3545
> >>> Victor dot Lazzarini AT nuim dot ie
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Send bugs reports to the Sourceforge bug tracker
> >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >>> Discussions of bugs and features can be posted here
> >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>> "unsubscribe csound"
> >>>
> >>>
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe>> csound"
> >>
> >> <RoutingGlobal03.csd>
> >
> > Dr Victor Lazzarini
> > Senior Lecturer
> > Dept. of Music
> > NUI Maynooth Ireland
> > tel.: +353 1 708 3545
> > Victor dot Lazzarini AT nuim dot ie
> >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe> csound"
> >
> >
> >
> >
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth



Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"







--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp


Date2013-01-23 19:53
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Order of triggering instruments
Yes, I'm aware of the ksmps delay when routing backwards in the chain.
On the plus side for this method, you can keep all effects always on, and perhaps some interesting effects will occur when you're "in between" the ordering states(?)

.. but it would be fine to use multiple instrument numbers ass Justin suggests, adding a fade in and fade out, so that instruments can be started and stopped without glitches, giving the imperssion that the effects are (can be) always on.

best
Oeyvind


2013/1/23 Justin Smith <noisesmith@gmail.com>
The problem with that layout is that to add and then multiply, you then have an extra ksmps delay - and any step in the routing which goes back to a lower numbered instrument would introduce yet another ksmps delay cumulatively.

If you use multiple instrument numbers with a UDO to position them on invocation, you can freely reorder without having to delay the signal by some multiple of ksmps:

UDO fragment:
...
iinstr = iposition*10+idx
...

instr "distortion", 2, 12, 22, 32, 42, 52, 62, 72, 82, 92, 102
...
endin

instr "reson", 3, 13, 23, 33, 43, 53, 63, 73, 83, 93, 103
...
endin

instr "reverb", 4, 14, 24, 34, 44, 54, 64, 74, 84, 94, 104
...
endin


On Wed, Jan 23, 2013 at 11:35 AM, Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no> wrote:
.... also,
replacing instr 51 with the one below will give the option of smooth crossfading while all effects are still active
Oeyvind

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    istart     chnget "control"
    kval    line istart, p3, ictrl1
    chnset    kval, "control"
    endin



2013/1/23 Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no>
Ok, here's our attempt

For the sake of example simplicity we used multiplication and addition as "effects", which also makes it easy to see the different order of execution just by looking at the produced output.

We put a routing instrument in between every effects processing instrument,
and the routing instrument contain inputs from all stages of the chain that you might want to insert at that point in the chain.
We used one single control input, crossfading between two different orderings (routings).
It should be possible to expand this to contain more than two effects, possibly still using a single control input to dynamically crossfade-browse through a series of different routings.

feel free to ask again if it does not make any sense...
Oeyvind

;*********************************************************************
<CsoundSynthesizer>
<CsOptions>
-otest.wav
</CsOptions>
<CsInstruments>
    sr = 44100 
    ksmps = 8
    nchnls = 2
    0dbfs = 2

    giSine        ftgen    0, 0, 65537, 10, 1
   
;*********************************************************************
    instr    1
a1    oscil    1, 440, giSine
    chnset    a1, "input"
    endin

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    chnset    ictrl1, "control"
    endin

;*********************************************************************
; routing
    instr    100
ain    chnget    "input"
ain2    chnget    "out2"

kctrl    chnget "control"
kin    = 1 - kctrl
kin2    = kctrl

a1    = (ain * kin) + (ain2 * kin2)

    chnset    a1, "in1"
    endin

;*********************************************************************
; multiplication
    instr    101
a1    chnget    "in1"

a0    = 0
    chnset    a0, "in1"

a1    = a1 * 0.5

    chnset    a1, "out1"
    endin

;*********************************************************************
; routing
    instr    102
ain    chnget    "input"
ain1    chnget    "out1"

kctrl    chnget "control"
kin    = kctrl
kin1    = 1 - kctrl

a1    = (ain * kin) + (ain1 * kin1)

    chnset    a1, "in2"
    endin

;*********************************************************************
; addition (offset)
    instr    103

a1    chnget    "in2"

a0    = 0
    chnset    a0, "in2"

a1    = a1 +1

    chnset    a1, "out2"
    endin

;*********************************************************************
; routing
    instr    104
ain1    chnget    "out1"
ain2    chnget    "out2"

kctrl    chnget "control"
kin1    = kctrl
kin2    = 1 - kctrl

a1    = (ain1 * kin1) + (ain2 * kin2)

    chnset    a1, "output"
    endin

;*********************************************************************
; output
    instr    201
a1    chnget    "output"
aclean    chnget     "input"

a0    = 0
    chnset    a0, "output"

    outch    1, a1, 2, aclean
    endin

;*********************************************************************
</CsInstruments>
<CsScore>
#define SCORELEN # 10 #
i1     1     $SCORELEN

i51     0     1    0    ; routing 1, normal order
i51     4     1    1    ; routing 2, reversed order

i100     1     $SCORELEN    ; routing
i101     1     $SCORELEN    ; multiplication
i102     1     $SCORELEN    ; routing
i103     1     $SCORELEN    ; addition
i104     1     $SCORELEN    ; routing
i201     1     $SCORELEN    ; output

e
</CsScore>
</CsoundSynthesizer>

;*********************************************************************


2013/1/23 Alex Hofmann <ahah@gmx.net>
Hi Victor,

multiple instrument numbers is good hint, but during my live performance I plan to trigger the instruments often and to change their order freely. Having fixed instrument numbers gives always a predefined ordering. I know this is a bit unusual idea, it's like you have a board of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:

I don't think we're considering any changes to the order of evalution, but just finding ways for Alex to achieve what he wants. I think using multiple instrument numbers does what he wants.

----- Original Message -----
From: jpff@cs.bath.ac.uk
Date: Wednesday, January 23, 2013 6:27 pm
Subject: Re: [Csnd] Order of triggering instruments
To: csound@lists.bath.ac.uk

> Changing the order of evaluation would break the clear semantics
> of csound.
>
>
> > Wouldn't duplicate instr numbers help?
> >
> > instr 10, 12
> >
> > endin
> >
> > instr  11
> >
> > endin
> >
> > Then you can run first  10 + 11; later switch 10 off and
> start 12.
> >
> > Victor
> >
> >
> > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> >
> >> I think this would work for the fixed setup of Delay>Reverb
> and plus
> >> clean signal. But my idea goes more into the direction of
> live plugging
> >> of instrument orders.
> >> Let me attach a little example..
> >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> instruments.>>
> >> Alex
> >>
> >>
> >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> >>> Maybe I am missing something here, but  all you need to
> do to get a
> >>> clean signal is to zero the reverb send. The order of
> execution will
> >>> not matter, since the
> >>> signal goes straight to the output.
> >>>
> >>>
> >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm currently preparing a live-setup with Csound. Therefor
> I want to
> >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> >>>>
> >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> >>>> - Instr 10 Chorus
> >>>> - Instr 11 Reverb
> >>>> - Instr 12 Delay
> >>>> - Instr 13 Tremolo
> >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> >>>>
> >>>> I'm routing the audio signal through a global audio
> variable, which I
> >>>> modify in the instruments. When I now start and stop
> Instruments 10 to
> >>>> 13 (per MIDI Notes), the order of execution seems to be
> determined by
> >>>> the instrument number.
> >>>>
> >>>> I would prefere, that the order of triggering, changes the signal
> >>>> routing. That would allow to have a signal with delay and reverb:
> >>>> a)
> >>>> Instr 5 Input
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>>
> >>>> ... then release Instr 5, but Delay still runs/loops.
> >>>> b)
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>> .. then trigger the input agian
> >>>> Instr 5 Input
> >>>>
> >>>> and now to play a clean signal on top and NOT into the
> Delay agian.
> >>>>
> >>>> Would that be possible to do somehow?
> >>>>
> >>>> Best,
> >>>> Alex
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Send bugs reports to the Sourceforge bug tracker
> >>>>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> Discussions of bugs and features can be posted here
> >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>>> "unsubscribe csound"
> >>>>
> >>> Dr Victor Lazzarini
> >>> Senior Lecturer
> >>> Dept. of Music
> >>> NUI Maynooth Ireland
> >>> tel.: +353 1 708 3545
> >>> Victor dot Lazzarini AT nuim dot ie
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Send bugs reports to the Sourceforge bug tracker
> >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >>> Discussions of bugs and features can be posted here
> >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>> "unsubscribe csound"
> >>>
> >>>
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe>> csound"
> >>
> >> <RoutingGlobal03.csd>
> >
> > Dr Victor Lazzarini
> > Senior Lecturer
> > Dept. of Music
> > NUI Maynooth Ireland
> > tel.: +353 1 708 3545
> > Victor dot Lazzarini AT nuim dot ie
> >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe> csound"
> >
> >
> >
> >
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth



Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"







--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp

Date2013-01-23 19:56
FromAlex Hofmann
SubjectRe: [Csnd] Order of triggering instruments
Hi Oeyvind,

thanks for your patch. It looks like it does what I have in mind. I'll check it out.

Best,
Alex
Am 23.01.13 20:31, schrieb Oeyvind Brandtsegg:
Ok, here's our attempt

For the sake of example simplicity we used multiplication and addition as "effects", which also makes it easy to see the different order of execution just by looking at the produced output.

We put a routing instrument in between every effects processing instrument,
and the routing instrument contain inputs from all stages of the chain that you might want to insert at that point in the chain.
We used one single control input, crossfading between two different orderings (routings).
It should be possible to expand this to contain more than two effects, possibly still using a single control input to dynamically crossfade-browse through a series of different routings.

feel free to ask again if it does not make any sense...
Oeyvind

;*********************************************************************
<CsoundSynthesizer>
<CsOptions>
-otest.wav
</CsOptions>
<CsInstruments>
    sr = 44100 
    ksmps = 8
    nchnls = 2
    0dbfs = 2

    giSine        ftgen    0, 0, 65537, 10, 1
   
;*********************************************************************
    instr    1
a1    oscil    1, 440, giSine
    chnset    a1, "input"
    endin

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    chnset    ictrl1, "control"
    endin

;*********************************************************************
; routing
    instr    100
ain    chnget    "input"
ain2    chnget    "out2"

kctrl    chnget "control"
kin    = 1 - kctrl
kin2    = kctrl

a1    = (ain * kin) + (ain2 * kin2)

    chnset    a1, "in1"
    endin

;*********************************************************************
; multiplication
    instr    101
a1    chnget    "in1"

a0    = 0
    chnset    a0, "in1"

a1    = a1 * 0.5

    chnset    a1, "out1"
    endin

;*********************************************************************
; routing
    instr    102
ain    chnget    "input"
ain1    chnget    "out1"

kctrl    chnget "control"
kin    = kctrl
kin1    = 1 - kctrl

a1    = (ain * kin) + (ain1 * kin1)

    chnset    a1, "in2"
    endin

;*********************************************************************
; addition (offset)
    instr    103

a1    chnget    "in2"

a0    = 0
    chnset    a0, "in2"

a1    = a1 +1

    chnset    a1, "out2"
    endin

;*********************************************************************
; routing
    instr    104
ain1    chnget    "out1"
ain2    chnget    "out2"

kctrl    chnget "control"
kin1    = kctrl
kin2    = 1 - kctrl

a1    = (ain1 * kin1) + (ain2 * kin2)

    chnset    a1, "output"
    endin

;*********************************************************************
; output
    instr    201
a1    chnget    "output"
aclean    chnget     "input"

a0    = 0
    chnset    a0, "output"

    outch    1, a1, 2, aclean
    endin

;*********************************************************************
</CsInstruments>
<CsScore>
#define SCORELEN # 10 #
i1     1     $SCORELEN

i51     0     1    0    ; routing 1, normal order
i51     4     1    1    ; routing 2, reversed order

i100     1     $SCORELEN    ; routing
i101     1     $SCORELEN    ; multiplication
i102     1     $SCORELEN    ; routing
i103     1     $SCORELEN    ; addition
i104     1     $SCORELEN    ; routing
i201     1     $SCORELEN    ; output

e
</CsScore>
</CsoundSynthesizer>

;*********************************************************************


2013/1/23 Alex Hofmann <ahah@gmx.net>
Hi Victor,

multiple instrument numbers is good hint, but during my live performance I plan to trigger the instruments often and to change their order freely. Having fixed instrument numbers gives always a predefined ordering. I know this is a bit unusual idea, it's like you have a board of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:

I don't think we're considering any changes to the order of evalution, but just finding ways for Alex to achieve what he wants. I think using multiple instrument numbers does what he wants.

----- Original Message -----
From: jpff@cs.bath.ac.uk
Date: Wednesday, January 23, 2013 6:27 pm
Subject: Re: [Csnd] Order of triggering instruments
To: csound@lists.bath.ac.uk

> Changing the order of evaluation would break the clear semantics
> of csound.
>
>
> > Wouldn't duplicate instr numbers help?
> >
> > instr 10, 12
> >
> > endin
> >
> > instr  11
> >
> > endin
> >
> > Then you can run first  10 + 11; later switch 10 off and
> start 12.
> >
> > Victor
> >
> >
> > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> >
> >> I think this would work for the fixed setup of Delay>Reverb
> and plus
> >> clean signal. But my idea goes more into the direction of
> live plugging
> >> of instrument orders.
> >> Let me attach a little example..
> >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> instruments.>>
> >> Alex
> >>
> >>
> >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> >>> Maybe I am missing something here, but  all you need to
> do to get a
> >>> clean signal is to zero the reverb send. The order of
> execution will
> >>> not matter, since the
> >>> signal goes straight to the output.
> >>>
> >>>
> >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm currently preparing a live-setup with Csound. Therefor
> I want to
> >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> >>>>
> >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> >>>> - Instr 10 Chorus
> >>>> - Instr 11 Reverb
> >>>> - Instr 12 Delay
> >>>> - Instr 13 Tremolo
> >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> >>>>
> >>>> I'm routing the audio signal through a global audio
> variable, which I
> >>>> modify in the instruments. When I now start and stop
> Instruments 10 to
> >>>> 13 (per MIDI Notes), the order of execution seems to be
> determined by
> >>>> the instrument number.
> >>>>
> >>>> I would prefere, that the order of triggering, changes the signal
> >>>> routing. That would allow to have a signal with delay and reverb:
> >>>> a)
> >>>> Instr 5 Input
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>>
> >>>> ... then release Instr 5, but Delay still runs/loops.
> >>>> b)
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>> .. then trigger the input agian
> >>>> Instr 5 Input
> >>>>
> >>>> and now to play a clean signal on top and NOT into the
> Delay agian.
> >>>>
> >>>> Would that be possible to do somehow?
> >>>>
> >>>> Best,
> >>>> Alex
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Send bugs reports to the Sourceforge bug tracker
> >>>>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> Discussions of bugs and features can be posted here
> >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>>> "unsubscribe csound"
> >>>>
> >>> Dr Victor Lazzarini
> >>> Senior Lecturer
> >>> Dept. of Music
> >>> NUI Maynooth Ireland
> >>> tel.: +353 1 708 3545
> >>> Victor dot Lazzarini AT nuim dot ie
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Send bugs reports to the Sourceforge bug tracker
> >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >>> Discussions of bugs and features can be posted here
> >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>> "unsubscribe csound"
> >>>
> >>>
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe>> csound"
> >>
> >> <RoutingGlobal03.csd>
> >
> > Dr Victor Lazzarini
> > Senior Lecturer
> > Dept. of Music
> > NUI Maynooth Ireland
> > tel.: +353 1 708 3545
> > Victor dot Lazzarini AT nuim dot ie
> >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe> csound"
> >
> >
> >
> >
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth



Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp


Date2013-01-23 20:58
FromAlex Hofmann
SubjectRe: [Csnd] Order of triggering instruments
AttachmentsRoutingGlobal05_Subinstr.csd  
Using multiple instrument numbers is only possible for a finit number of repatchings. And I ran out of numbers quiet soon..

I now managed to do it with "subinstr". Only disadventage is, like oeyvind said, instruments sometimes start with glitches. But I will try to add fade in and out.

Thanks for your help!

Alex


Am 23.01.13 20:53, schrieb Oeyvind Brandtsegg:
Yes, I'm aware of the ksmps delay when routing backwards in the chain.
On the plus side for this method, you can keep all effects always on, and perhaps some interesting effects will occur when you're "in between" the ordering states(?)

.. but it would be fine to use multiple instrument numbers ass Justin suggests, adding a fade in and fade out, so that instruments can be started and stopped without glitches, giving the imperssion that the effects are (can be) always on.

best
Oeyvind


2013/1/23 Justin Smith <noisesmith@gmail.com>
The problem with that layout is that to add and then multiply, you then have an extra ksmps delay - and any step in the routing which goes back to a lower numbered instrument would introduce yet another ksmps delay cumulatively.

If you use multiple instrument numbers with a UDO to position them on invocation, you can freely reorder without having to delay the signal by some multiple of ksmps:

UDO fragment:
...
iinstr = iposition*10+idx
...

instr "distortion", 2, 12, 22, 32, 42, 52, 62, 72, 82, 92, 102
...
endin

instr "reson", 3, 13, 23, 33, 43, 53, 63, 73, 83, 93, 103
...
endin

instr "reverb", 4, 14, 24, 34, 44, 54, 64, 74, 84, 94, 104
...
endin


On Wed, Jan 23, 2013 at 11:35 AM, Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no> wrote:
.... also,
replacing instr 51 with the one below will give the option of smooth crossfading while all effects are still active
Oeyvind

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    istart     chnget "control"
    kval    line istart, p3, ictrl1
    chnset    kval, "control"
    endin



2013/1/23 Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no>
Ok, here's our attempt

For the sake of example simplicity we used multiplication and addition as "effects", which also makes it easy to see the different order of execution just by looking at the produced output.

We put a routing instrument in between every effects processing instrument,
and the routing instrument contain inputs from all stages of the chain that you might want to insert at that point in the chain.
We used one single control input, crossfading between two different orderings (routings).
It should be possible to expand this to contain more than two effects, possibly still using a single control input to dynamically crossfade-browse through a series of different routings.

feel free to ask again if it does not make any sense...
Oeyvind

;*********************************************************************
<CsoundSynthesizer>
<CsOptions>
-otest.wav
</CsOptions>
<CsInstruments>
    sr = 44100 
    ksmps = 8
    nchnls = 2
    0dbfs = 2

    giSine        ftgen    0, 0, 65537, 10, 1
   
;*********************************************************************
    instr    1
a1    oscil    1, 440, giSine
    chnset    a1, "input"
    endin

;*********************************************************************
; control
    instr    51
    ictrl1    = p4
    chnset    ictrl1, "control"
    endin

;*********************************************************************
; routing
    instr    100
ain    chnget    "input"
ain2    chnget    "out2"

kctrl    chnget "control"
kin    = 1 - kctrl
kin2    = kctrl

a1    = (ain * kin) + (ain2 * kin2)

    chnset    a1, "in1"
    endin

;*********************************************************************
; multiplication
    instr    101
a1    chnget    "in1"

a0    = 0
    chnset    a0, "in1"

a1    = a1 * 0.5

    chnset    a1, "out1"
    endin

;*********************************************************************
; routing
    instr    102
ain    chnget    "input"
ain1    chnget    "out1"

kctrl    chnget "control"
kin    = kctrl
kin1    = 1 - kctrl

a1    = (ain * kin) + (ain1 * kin1)

    chnset    a1, "in2"
    endin

;*********************************************************************
; addition (offset)
    instr    103

a1    chnget    "in2"

a0    = 0
    chnset    a0, "in2"

a1    = a1 +1

    chnset    a1, "out2"
    endin

;*********************************************************************
; routing
    instr    104
ain1    chnget    "out1"
ain2    chnget    "out2"

kctrl    chnget "control"
kin1    = kctrl
kin2    = 1 - kctrl

a1    = (ain1 * kin1) + (ain2 * kin2)

    chnset    a1, "output"
    endin

;*********************************************************************
; output
    instr    201
a1    chnget    "output"
aclean    chnget     "input"

a0    = 0
    chnset    a0, "output"

    outch    1, a1, 2, aclean
    endin

;*********************************************************************
</CsInstruments>
<CsScore>
#define SCORELEN # 10 #
i1     1     $SCORELEN

i51     0     1    0    ; routing 1, normal order
i51     4     1    1    ; routing 2, reversed order

i100     1     $SCORELEN    ; routing
i101     1     $SCORELEN    ; multiplication
i102     1     $SCORELEN    ; routing
i103     1     $SCORELEN    ; addition
i104     1     $SCORELEN    ; routing
i201     1     $SCORELEN    ; output

e
</CsScore>
</CsoundSynthesizer>

;*********************************************************************


2013/1/23 Alex Hofmann <ahah@gmx.net>
Hi Victor,

multiple instrument numbers is good hint, but during my live performance I plan to trigger the instruments often and to change their order freely. Having fixed instrument numbers gives always a predefined ordering. I know this is a bit unusual idea, it's like you have a board of guitar effects and want to change the cables all the time..



Am 23.01.13 19:55, schrieb Victor.Lazzarini@nuim.ie:

I don't think we're considering any changes to the order of evalution, but just finding ways for Alex to achieve what he wants. I think using multiple instrument numbers does what he wants.

----- Original Message -----
From: jpff@cs.bath.ac.uk
Date: Wednesday, January 23, 2013 6:27 pm
Subject: Re: [Csnd] Order of triggering instruments
To: csound@lists.bath.ac.uk

> Changing the order of evaluation would break the clear semantics
> of csound.
>
>
> > Wouldn't duplicate instr numbers help?
> >
> > instr 10, 12
> >
> > endin
> >
> > instr  11
> >
> > endin
> >
> > Then you can run first  10 + 11; later switch 10 off and
> start 12.
> >
> > Victor
> >
> >
> > On 23 Jan 2013, at 15:18, Alex Hofmann wrote:
> >
> >> I think this would work for the fixed setup of Delay>Reverb
> and plus
> >> clean signal. But my idea goes more into the direction of
> live plugging
> >> of instrument orders.
> >> Let me attach a little example..
> >> Midi Note Numbers 24 (C0 = Input) to 26 starting the fx
> instruments.>>
> >> Alex
> >>
> >>
> >> Am 23.01.13 16:02, schrieb Victor Lazzarini:
> >>> Maybe I am missing something here, but  all you need to
> do to get a
> >>> clean signal is to zero the reverb send. The order of
> execution will
> >>> not matter, since the
> >>> signal goes straight to the output.
> >>>
> >>>
> >>> On 23 Jan 2013, at 14:54, Alex Hofmann wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm currently preparing a live-setup with Csound. Therefor
> I want to
> >>>> use Csnd Instruments as Live Audio Effects. Let's say:
> >>>>
> >>>> (- Instr 5 Audio Input - [gaMyAudio = inch 1])
> >>>> - Instr 10 Chorus
> >>>> - Instr 11 Reverb
> >>>> - Instr 12 Delay
> >>>> - Instr 13 Tremolo
> >>>> (- Instr 100 Audio Output [out = gaMyAudio])
> >>>>
> >>>> I'm routing the audio signal through a global audio
> variable, which I
> >>>> modify in the instruments. When I now start and stop
> Instruments 10 to
> >>>> 13 (per MIDI Notes), the order of execution seems to be
> determined by
> >>>> the instrument number.
> >>>>
> >>>> I would prefere, that the order of triggering, changes the signal
> >>>> routing. That would allow to have a signal with delay and reverb:
> >>>> a)
> >>>> Instr 5 Input
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>>
> >>>> ... then release Instr 5, but Delay still runs/loops.
> >>>> b)
> >>>> Instr 11 Reverb
> >>>> Instr 12 Delay
> >>>> .. then trigger the input agian
> >>>> Instr 5 Input
> >>>>
> >>>> and now to play a clean signal on top and NOT into the
> Delay agian.
> >>>>
> >>>> Would that be possible to do somehow?
> >>>>
> >>>> Best,
> >>>> Alex
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Send bugs reports to the Sourceforge bug tracker
> >>>>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>>>
> Discussions of bugs and features can be posted here
> >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>>> "unsubscribe csound"
> >>>>
> >>> Dr Victor Lazzarini
> >>> Senior Lecturer
> >>> Dept. of Music
> >>> NUI Maynooth Ireland
> >>> tel.: +353 1 708 3545
> >>> Victor dot Lazzarini AT nuim dot ie
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Send bugs reports to the Sourceforge bug tracker
> >>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >>> Discussions of bugs and features can be posted here
> >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> >>> "unsubscribe csound"
> >>>
> >>>
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>
> https://sourceforge.net/tracker/?group_id=81968&atid=564599>>
> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe>> csound"
> >>
> >> <RoutingGlobal03.csd>
> >
> > Dr Victor Lazzarini
> > Senior Lecturer
> > Dept. of Music
> > NUI Maynooth Ireland
> > tel.: +353 1 708 3545
> > Victor dot Lazzarini AT nuim dot ie
> >
> >
> >
> >
> >
> > Send bugs reports to the Sourceforge bug tracker
> > https://sourceforge.net/tracker/?group_id=81968&atid=564599
> > Discussions of bugs and features can be posted here
> > To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe> csound"
> >
> >
> >
> >
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth



Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp



--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp




--

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp