[chuck-users] altering a sample while it reads
Tomtom
tomtom at herbesfolles.org
Thu May 19 12:07:06 EDT 2011
PS: I meant to add a reference at the end of my email :
[1] http://chuck.cs.princeton.edu/doc/language/event.html
Excerpts from Tomtom's message of jeu. mai 19 17:46:47 +0200 2011:
> Hi Tim
>
> > Is there a way to control aspects of a sample (rate, reverb, delay) while it
> > is being read? I'm interested in, say, playing a minute-long speech sample
> > and being able to change the effects as it is playing. I've done this with
> > supercollider and pure data but can't seem to find the resources in chuck.
>
> All you have to do is to load your sample in a SndBuf ugen (or is there another
> ugen for very long samples ?) and then chuck (=>) its output to your effects -
> you are free to change the effects parameters whenever you like, or even to
> reroute the signal.
>
> for example, a script randomly changing the reverb parameters every 10ms
> (beware, code not tested):
>
> SndBuf buf => JCRev rev => dac;
>
> "mysample.wav" => buf.read;
>
> while (true) {
> Std.rand2f(0,1) => rev.mix;
> 10::ms => now;
> }
>
> Now, you might want to manually play with the parameters during the playback.
> In that case, you will have to use Events [1]: a part of your code is listening
> to an Event object, and when the event is triggered, it does something - in
> your case, changing a parameter. This mechanism allows you to do some
> message-passing between differents parts of your program.
>
> In your case, you can have one script doing the playback and listening to an
> Event object - then, changing the parameters is a matter of triggering events
> from your "livecode".
>
> I hope this helps
>
> tom
More information about the chuck-users
mailing list