From jean at menezesdarocha.info Wed Nov 1 12:05:01 2017 From: jean at menezesdarocha.info (Jean Menezes da Rocha) Date: Wed, 01 Nov 2017 16:05:01 +0000 Subject: [chuck-users] Can I use ADSR UGen to envelope parameters other than gain (e.g. pitch)? Message-ID: Hello, the ADSR UGen, to me, seems to have effect only over amplitude (which is its original function, I concede). However, is there any use case where I can use ADSR to map, say, pitch instead of amplitude, in order to avoid recurring to functions and for loops? Thanks in advance! -- Jean Menezes da Rocha Compositor Professor Doutorando em M?sica pela Universidade Federal da Bahia -------------- next part -------------- An HTML attachment was scrubbed... URL: From heuermh at gmail.com Wed Nov 1 12:17:38 2017 From: heuermh at gmail.com (Michael Heuer) Date: Wed, 1 Nov 2017 11:17:38 -0500 Subject: [chuck-users] Can I use ADSR UGen to envelope parameters other than gain (e.g. pitch)? In-Reply-To: References: Message-ID: Yes, I use the following pattern often 220.0 => float f; SinOsc osc => dac; ASDR adsr => blackhole; spork ~ updateAtSampleRate(); fun void updateAtSampleRate() { while (true) { f + adsr.last() * f => osc.freq; 1::samp => now; } } There is also this pattern, which tries to encapsulate the above (whatever you chuck into cv Gain(s) are provided as float parameter(s) to the tick method) https://github.com/heuermh/lick/blob/master/lick/module/Module.ck https://github.com/heuermh/lick/blob/master/examples/moduleExample.ck Cheers, michael On Wed, Nov 1, 2017 at 11:05 AM, Jean Menezes da Rocha < jean at menezesdarocha.info> wrote: > Hello, > > the ADSR UGen, to me, seems to have effect only over amplitude (which is > its original function, I concede). > However, is there any use case where I can use ADSR to map, say, pitch > instead of amplitude, in order to avoid recurring to functions and for > loops? > > Thanks in advance! > -- > Jean Menezes da Rocha > Compositor > Professor > Doutorando em M?sica pela Universidade Federal da Bahia > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mario.buoninfante at gmail.com Wed Nov 1 12:52:51 2017 From: mario.buoninfante at gmail.com (Mario Buoninfante) Date: Wed, 1 Nov 2017 16:52:51 +0000 Subject: [chuck-users] Can I use ADSR UGen to envelope parameters other than gain (e.g. pitch)? In-Reply-To: References: Message-ID: Hi, yap, the following is a possible solution: Step step => ADSR adsr => SinOsc oscil => dac; step.next(500); adsr.set(5::ms, 150::ms, 1, 500::ms); while(true){ adsr.keyOn(); 400::ms => now; adsr.keyOff(); 1000::ms => now; } cheers, Mario 2017-11-01 16:17 GMT+00:00 Michael Heuer : > Yes, I use the following pattern often > > 220.0 => float f; > SinOsc osc => dac; > ASDR adsr => blackhole; > > spork ~ updateAtSampleRate(); > > fun void updateAtSampleRate() { > while (true) { > f + adsr.last() * f => osc.freq; > 1::samp => now; > } > } > > There is also this pattern, which tries to encapsulate the above (whatever > you chuck into cv Gain(s) are provided as float parameter(s) to the tick > method) > > https://github.com/heuermh/lick/blob/master/lick/module/Module.ck > https://github.com/heuermh/lick/blob/master/examples/moduleExample.ck > > Cheers, > > michael > > > On Wed, Nov 1, 2017 at 11:05 AM, Jean Menezes da Rocha < > jean at menezesdarocha.info> wrote: > >> Hello, >> >> the ADSR UGen, to me, seems to have effect only over amplitude (which is >> its original function, I concede). >> However, is there any use case where I can use ADSR to map, say, pitch >> instead of amplitude, in order to avoid recurring to functions and for >> loops? >> >> Thanks in advance! >> -- >> Jean Menezes da Rocha >> Compositor >> Professor >> Doutorando em M?sica pela Universidade Federal da Bahia >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jean at menezesdarocha.info Wed Nov 1 13:13:53 2017 From: jean at menezesdarocha.info (Jean Menezes da Rocha) Date: Wed, 01 Nov 2017 17:13:53 +0000 Subject: [chuck-users] Can I use ADSR UGen to envelope parameters other than gain (e.g. pitch)? In-Reply-To: References: Message-ID: Great! That was exactly what I wanted (and suspected but couldn't figure out)! Thank you very much, guys! Em qua, 1 de nov de 2017 ?s 15:04, Mario Buoninfante < mario.buoninfante at gmail.com> escreveu: > Hi, > > yap, the following is a possible solution: > > Step step => ADSR adsr => SinOsc oscil => dac; > > step.next(500); > adsr.set(5::ms, 150::ms, 1, 500::ms); > > while(true){ > adsr.keyOn(); > > 400::ms => now; > > adsr.keyOff(); > > 1000::ms => now; > } > > cheers, > Mario > > 2017-11-01 16:17 GMT+00:00 Michael Heuer : > >> Yes, I use the following pattern often >> >> 220.0 => float f; >> SinOsc osc => dac; >> ASDR adsr => blackhole; >> >> spork ~ updateAtSampleRate(); >> >> fun void updateAtSampleRate() { >> while (true) { >> f + adsr.last() * f => osc.freq; >> 1::samp => now; >> } >> } >> >> There is also this pattern, which tries to encapsulate the above >> (whatever you chuck into cv Gain(s) are provided as float parameter(s) to >> the tick method) >> >> https://github.com/heuermh/lick/blob/master/lick/module/Module.ck >> https://github.com/heuermh/lick/blob/master/examples/moduleExample.ck >> >> Cheers, >> >> michael >> >> >> On Wed, Nov 1, 2017 at 11:05 AM, Jean Menezes da Rocha < >> jean at menezesdarocha.info> wrote: >> >>> Hello, >>> >>> the ADSR UGen, to me, seems to have effect only over amplitude (which is >>> its original function, I concede). >>> However, is there any use case where I can use ADSR to map, say, pitch >>> instead of amplitude, in order to avoid recurring to functions and for >>> loops? >>> >>> Thanks in advance! >>> -- >>> Jean Menezes da Rocha >>> Compositor >>> Professor >>> Doutorando em M?sica pela Universidade Federal da Bahia >>> >>> _______________________________________________ >>> chuck-users mailing list >>> chuck-users at lists.cs.princeton.edu >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>> >>> >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -- Jean Menezes da Rocha Compositor Professor Doutorando em M?sica pela Universidade Federal da Bahia -------------- next part -------------- An HTML attachment was scrubbed... URL: From ericheep at gmail.com Wed Nov 1 13:36:52 2017 From: ericheep at gmail.com (Eric Heep) Date: Wed, 1 Nov 2017 10:36:52 -0700 Subject: [chuck-users] Can I use ADSR UGen to envelope parameters other than gain (e.g. pitch)? In-Reply-To: References: Message-ID: This might be shameless plug for a few Chugins I created, but I thought it might be up your alley. I made two Chugins a while back that deal with atypical envelope types, one for power based envelopes, and one based on window functions. I enjoy using window function envelopes for sine sweeps other types of control; here are two short examples. This is the power based Chugin. PowerADSR pow => blackhole; // envelope durations pow.set(10::ms, 10::ms, 1.0, 10::ms); // curves for attack, decay, and release pow.setCurves(0.5, 2.0, 0.5); spork ~ printValue(); pow.keyOn(); 20::ms => now; pow.keyOff(); 10::ms => now; fun void printValue() { while (true) { <<< "Power ADSR Value:", pow.value() >>>; 1::ms => now; } } And here is the window function based Chugin. WinFuncEnv win => dac; // set for a Blackman window win.setBlackman(); // envelope durations win.attackTime(25::ms); win.releaseTime(25::ms); spork ~ printValue(); win.keyOn(); 25::ms => now; win.keyOff(); 25::ms => now; fun void printValue() { while (true) { <<< "Window Value:", win.windowValue() >>>; 1::ms => now; } } On Wed, Nov 1, 2017 at 10:13 AM, Jean Menezes da Rocha < jean at menezesdarocha.info> wrote: > Great! That was exactly what I wanted (and suspected but couldn't figure > out)! > > Thank you very much, guys! > > Em qua, 1 de nov de 2017 ?s 15:04, Mario Buoninfante < > mario.buoninfante at gmail.com> escreveu: > >> Hi, >> >> yap, the following is a possible solution: >> >> Step step => ADSR adsr => SinOsc oscil => dac; >> >> step.next(500); >> adsr.set(5::ms, 150::ms, 1, 500::ms); >> >> while(true){ >> adsr.keyOn(); >> >> 400::ms => now; >> >> adsr.keyOff(); >> >> 1000::ms => now; >> } >> >> cheers, >> Mario >> >> 2017-11-01 16:17 GMT+00:00 Michael Heuer : >> >>> Yes, I use the following pattern often >>> >>> 220.0 => float f; >>> SinOsc osc => dac; >>> ASDR adsr => blackhole; >>> >>> spork ~ updateAtSampleRate(); >>> >>> fun void updateAtSampleRate() { >>> while (true) { >>> f + adsr.last() * f => osc.freq; >>> 1::samp => now; >>> } >>> } >>> >>> There is also this pattern, which tries to encapsulate the above >>> (whatever you chuck into cv Gain(s) are provided as float parameter(s) to >>> the tick method) >>> >>> https://github.com/heuermh/lick/blob/master/lick/module/Module.ck >>> https://github.com/heuermh/lick/blob/master/examples/moduleExample.ck >>> >>> Cheers, >>> >>> michael >>> >>> >>> On Wed, Nov 1, 2017 at 11:05 AM, Jean Menezes da Rocha < >>> jean at menezesdarocha.info> wrote: >>> >>>> Hello, >>>> >>>> the ADSR UGen, to me, seems to have effect only over amplitude (which >>>> is its original function, I concede). >>>> However, is there any use case where I can use ADSR to map, say, pitch >>>> instead of amplitude, in order to avoid recurring to functions and for >>>> loops? >>>> >>>> Thanks in advance! >>>> -- >>>> Jean Menezes da Rocha >>>> Compositor >>>> Professor >>>> Doutorando em M?sica pela Universidade Federal da Bahia >>>> >>>> _______________________________________________ >>>> chuck-users mailing list >>>> chuck-users at lists.cs.princeton.edu >>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>>> >>>> >>> >>> _______________________________________________ >>> chuck-users mailing list >>> chuck-users at lists.cs.princeton.edu >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>> >>> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > -- > Jean Menezes da Rocha > Compositor > Professor > Doutorando em M?sica pela Universidade Federal da Bahia > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mylenthes at gmail.com Mon Nov 20 00:15:41 2017 From: mylenthes at gmail.com (Daniel Meowington) Date: Mon, 20 Nov 2017 00:15:41 -0500 Subject: [chuck-users] How do I load ChuGins? Message-ID: I'm on arch linux. Chuck and miniAudicle version 1.3.5.2. I installed the entire collection from git. Trying in miniAudicle to use `GVerb` or any other ChuGin for that matter outputs the message "undefined type 'GVerb'...". I also tried the command line by setting chugin-load to auto, setting the path, doing `chugin:GVerb`, none of which worked, all give the same message. I doubled checked and they are indeed in my /usr/local/lib/chuck folder. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mylenthes at gmail.com Tue Nov 28 19:45:12 2017 From: mylenthes at gmail.com (Daniel Meowington) Date: Tue, 28 Nov 2017 19:45:12 -0500 Subject: [chuck-users] How do I load ChuGins? In-Reply-To: References: Message-ID: Reply to me you scrubs. The default reverbs suck, and I don't feel like learning how to make a highly configurable reverb from scratch. On Mon, Nov 20, 2017 at 12:15 AM, Daniel Meowington wrote: > I'm on arch linux. Chuck and miniAudicle version 1.3.5.2. > > I installed the entire collection from git. Trying in miniAudicle to use > `GVerb` or any other ChuGin for that matter outputs the message "undefined > type 'GVerb'...". > > I also tried the command line by setting chugin-load to auto, setting the > path, doing `chugin:GVerb`, none of which worked, all give the same message. > > I doubled checked and they are indeed in my /usr/local/lib/chuck folder. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From prc at CS.Princeton.EDU Wed Nov 29 19:43:37 2017 From: prc at CS.Princeton.EDU (Perry Cook) Date: Wed, 29 Nov 2017 16:43:37 -0800 Subject: [chuck-users] Loading ChuGins (from Daniel Meowington) In-Reply-To: References: Message-ID: I don?t have your environment, but some directory should do the trick. On my Mac, it?s in /usr/lib/chuck For now, you could try loading the specific ChuGin by name at runtime: chuck -chugin: yourchuckfiles.ck I put the chugin I want right in the same directory just to make sure. Hope this helps. If it does, then you can probably work backward to finding the right directory to stash them. PRC > On Nov 29, 2017, at 9:00 AM, chuck-users-request at lists.cs.princeton.edu wrote: > > Send chuck-users mailing list submissions to > chuck-users at lists.cs.princeton.edu > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > or, via email, send a message with subject or body 'help' to > chuck-users-request at lists.cs.princeton.edu > > You can reach the person managing the list at > chuck-users-owner at lists.cs.princeton.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of chuck-users digest..." > > > Today's Topics: > > 1. Re: How do I load ChuGins? (Daniel Meowington) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 28 Nov 2017 19:45:12 -0500 > From: Daniel Meowington > To: chuck-users at lists.cs.princeton.edu > Subject: Re: [chuck-users] How do I load ChuGins? > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Reply to me you scrubs. The default reverbs suck, and I don't feel like > learning how to make a highly configurable reverb from scratch. > > On Mon, Nov 20, 2017 at 12:15 AM, Daniel Meowington > wrote: > >> I'm on arch linux. Chuck and miniAudicle version 1.3.5.2. >> >> I installed the entire collection from git. Trying in miniAudicle to use >> `GVerb` or any other ChuGin for that matter outputs the message "undefined >> type 'GVerb'...". >> >> I also tried the command line by setting chugin-load to auto, setting the >> path, doing `chugin:GVerb`, none of which worked, all give the same message. >> >> I doubled checked and they are indeed in my /usr/local/lib/chuck folder. >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > End of chuck-users Digest, Vol 147, Issue 4 > *******************************************