Csound Csound-dev Csound-tekno Search About

[Csnd] looping/partially looping envelopes

Date2012-03-09 15:36
FromJulien Claassen
Subject[Csnd] looping/partially looping envelopes
Hello everyone!
   I've wondered and thought about it: would it be possible to create an 
adjustable envelope, that could be partially or completely looped.
   Motivation: One of my hardware synth offers an 8-stage envelope in the style 
of linseg or linsegr. but, you can loop certain stages of this envelope. Say I 
want to loop between stage 3-6, then stages 1 and 2 are executed normally and 
from then on it loops between stages 3-6. If I have the envelope with release, 
that stage will be executed, when I release the key.
   I've looked at csound's features. I've found loopseg/p and the of course 
line, linseg, envlpx,... family, but haven't seen a solution, that would 
really match it. I suppose I could combine linseg and loopseg, but for a 
realtime orchestra, that might be ugly, since there would have to be a lot of 
conditional decisions and a lot of parameter changing.
   Does anyone of you have an elegant idea to solve this or is it peraps solved 
somewhere already?
   Warm regards and thanks for following me thus far
             Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

======      Find my music at      ======
http://juliencoder.de/nama/music.html
.....................................
"If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you." (Winnie the Pooh)

Date2012-03-09 16:02
FromAdam Puckett
SubjectRe: [Csnd] looping/partially looping envelopes
I don't have an elegant idea. You have an ugly idea and you should try it. :)

On 3/9/12, Julien Claassen  wrote:
> Hello everyone!
>    I've wondered and thought about it: would it be possible to create an
> adjustable envelope, that could be partially or completely looped.
>    Motivation: One of my hardware synth offers an 8-stage envelope in the
> style
> of linseg or linsegr. but, you can loop certain stages of this envelope. Say
> I
> want to loop between stage 3-6, then stages 1 and 2 are executed normally
> and
> from then on it loops between stages 3-6. If I have the envelope with
> release,
> that stage will be executed, when I release the key.
>    I've looked at csound's features. I've found loopseg/p and the of course
> line, linseg, envlpx,... family, but haven't seen a solution, that would
> really match it. I suppose I could combine linseg and loopseg, but for a
> realtime orchestra, that might be ugly, since there would have to be a lot
> of
> conditional decisions and a lot of parameter changing.
>    Does anyone of you have an elegant idea to solve this or is it peraps
> solved
> somewhere already?
>    Warm regards and thanks for following me thus far
>              Julien
>
> =-=-=-=-=-=-=-=-=-=-=-=-
> Such Is Life: Very Intensely Adorable;
> Free And Jubilating Amazement Revels, Dancing On - FLOWERS!
>
> ======      Find my music at      ======
> http://juliencoder.de/nama/music.html
> .....................................
> "If you live to be 100, I hope I live to be 100 minus 1 day,
> so I never have to live without you." (Winnie the Pooh)
>
>
> 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"
>
>

Date2012-03-09 16:18
FromVictor Lazzarini
SubjectRe: [Csnd] looping/partially looping envelopes
My solution would be to put the envelope on a table and then loop the table lookup.

Victor
On 9 Mar 2012, at 15:36, Julien Claassen wrote:

> Hello everyone!
>  I've wondered and thought about it: would it be possible to create an adjustable envelope, that could be partially or completely looped.
>  Motivation: One of my hardware synth offers an 8-stage envelope in the style of linseg or linsegr. but, you can loop certain stages of this envelope. Say I want to loop between stage 3-6, then stages 1 and 2 are executed normally and from then on it loops between stages 3-6. If I have the envelope with release, that stage will be executed, when I release the key.
>  I've looked at csound's features. I've found loopseg/p and the of course line, linseg, envlpx,... family, but haven't seen a solution, that would really match it. I suppose I could combine linseg and loopseg, but for a realtime orchestra, that might be ugly, since there would have to be a lot of conditional decisions and a lot of parameter changing.
>  Does anyone of you have an elegant idea to solve this or is it peraps solved somewhere already?
>  Warm regards and thanks for following me thus far
>            Julien
> 
> =-=-=-=-=-=-=-=-=-=-=-=-
> Such Is Life: Very Intensely Adorable;
> Free And Jubilating Amazement Revels, Dancing On - FLOWERS!
> 
> ======      Find my music at      ======
> http://juliencoder.de/nama/music.html
> .....................................
> "If you live to be 100, I hope I live to be 100 minus 1 day,
> so I never have to live without you." (Winnie the Pooh)
> 
> 
> 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





Date2012-03-09 16:23
FromAidan Collins
SubjectRe: [Csnd] looping/partially looping envelopes
I don't do things in real time all that often, but I wonder if you
could use the reinit opcode?
Maybe you could put the sound creation outside of the reinit loop, but
the envelope generators in the reinit loop, and loop them that way?
I often also use a phasor or an incremented variable inside the loop
to look up values from a table to make changes over iterations of the
loop.

Aidan

On Fri, Mar 9, 2012 at 11:18 AM, Victor Lazzarini
 wrote:
> My solution would be to put the envelope on a table and then loop the table lookup.
>
> Victor
> On 9 Mar 2012, at 15:36, Julien Claassen wrote:
>
>> Hello everyone!
>>  I've wondered and thought about it: would it be possible to create an adjustable envelope, that could be partially or completely looped.
>>  Motivation: One of my hardware synth offers an 8-stage envelope in the style of linseg or linsegr. but, you can loop certain stages of this envelope. Say I want to loop between stage 3-6, then stages 1 and 2 are executed normally and from then on it loops between stages 3-6. If I have the envelope with release, that stage will be executed, when I release the key.
>>  I've looked at csound's features. I've found loopseg/p and the of course line, linseg, envlpx,... family, but haven't seen a solution, that would really match it. I suppose I could combine linseg and loopseg, but for a realtime orchestra, that might be ugly, since there would have to be a lot of conditional decisions and a lot of parameter changing.
>>  Does anyone of you have an elegant idea to solve this or is it peraps solved somewhere already?
>>  Warm regards and thanks for following me thus far
>>            Julien
>>
>> =-=-=-=-=-=-=-=-=-=-=-=-
>> Such Is Life: Very Intensely Adorable;
>> Free And Jubilating Amazement Revels, Dancing On - FLOWERS!
>>
>> ======      Find my music at      ======
>> http://juliencoder.de/nama/music.html
>> .....................................
>> "If you live to be 100, I hope I live to be 100 minus 1 day,
>> so I never have to live without you." (Winnie the Pooh)
>>
>>
>> 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"
>


Date2012-03-09 23:36
FromJulien Claassen
SubjectRe: [Csnd] looping/partially looping envelopes
Hi Victor, Aidan!
   thanks for both your suggestions. I think I'll give the table-lookup aproach 
a go. It sounds the most promising. Depending on how easy and fast I can 
manipulate the table, that might work quite well.
   Warm regards
            Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

======      Find my music at      ======
http://juliencoder.de/nama/music.html
.....................................
"If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you." (Winnie the Pooh)

Date2012-03-10 02:11
FromJim Aikin
Subject[Csnd] Re: looping/partially looping envelopes
Assuming you don't need to adjust the loop start and end points while the
note is playing (which is not a criterion you mentioned), I would suggest
that you try adding the outputs of two envelope generators. Use if/kgoto to
play the first two stages while skipping stages 3 to 6; then, at a certain
point, leave the first envelope (which has completed stages 1 and 2) parked
at a fixed "sustain level" value and start reading the other envelope, which
would be looped. Add the k-rate outputs of the two envelopes.

This approach may or may not do everything you need, but it shouldn't be too
difficult to set up.

--JA


--
View this message in context: http://csound.1045644.n5.nabble.com/looping-partially-looping-envelopes-tp5550915p5552108.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2012-03-10 14:12
FromAdam Puckett
SubjectRe: [Csnd] Re: looping/partially looping envelopes
That's great, for example, for tremolo effects with rising/falling
"main" volume.

On 3/9/12, Jim Aikin  wrote:
> Assuming you don't need to adjust the loop start and end points while the
> note is playing (which is not a criterion you mentioned), I would suggest
> that you try adding the outputs of two envelope generators. Use if/kgoto to
> play the first two stages while skipping stages 3 to 6; then, at a certain
> point, leave the first envelope (which has completed stages 1 and 2) parked
> at a fixed "sustain level" value and start reading the other envelope, which
> would be looped. Add the k-rate outputs of the two envelopes.
>
> This approach may or may not do everything you need, but it shouldn't be too
> difficult to set up.
>
> --JA
>
>
> --
> View this message in context:
> http://csound.1045644.n5.nabble.com/looping-partially-looping-envelopes-tp5550915p5552108.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
> 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"
>
>

Date2012-03-10 22:29
FromJulien Claassen
SubjectRe: [Csnd] Re: looping/partially looping envelopes
Hi Jim!
   Haha, that's exactly the ugly solution I thought about. And after 
investigating a little into the table version using something like GENN05, I 
think I will end up doing this. But first I will look a little further into 
the first alternative, since it has its own beauty. :-)
   Warm regards
             Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

======      Find my music at      ======
http://juliencoder.de/nama/music.html
.....................................
"If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you." (Winnie the Pooh)