[chuck-users] mod tracker style ChucK ugen, anyone interested?

Imre Kéri sharp732 at gmail.com
Sat Dec 24 09:23:21 EST 2011


2011/12/23 Kassen <signal.automatique at gmail.com>:
> I think that "yes" this is interesting and should be worthwhile and
> I'd be happy to help test. On the downside; I don't know when I'll get
> round to that as there are celebrations these days, I'm working on a
> few code projects with deadlines and there's some redecoration of a
> performance space that I'm involved with too.... I do know that I'm
> not the only ChucKist with a soft spot for trackers (some of those are
> comfy with recompiles as well).
Thanks for your interest!
Well, if many ChucK users are interested, I even had a plan to create
a big software what would be like a "tracker for ChucK". This would be
something like Renoise or Jeskola Buzz, but in the rows of a pattern
one could enter real ChucK code instead of just some fixed playback
note for a sound sample. But this is just an idea at the moment which
I don't plan to continue, because I investigated it and it seems that
I can write a new module (generator as they call it) for Jeskola Buzz
what is enough for my needs. And writing a big new application is a
huge effort which might take years to complete...

Back to my work in ChucK: just keep it relaxed, I work with this only
in my spare time so I can myself not always respond quickly. Anyway to
get a feeling for it I created a very simple ChucK program which just
plays back a kick drum using the objects I created. It maybe does not
show the benefit of using these new classes, it is just a simple
example how the system can be used. So here it is (I hope automatic
line endings will not make it unreadable...):

//What we need:
//t3Sample which will store a recorded sound.
//t3Instrument which defines playback options for the sample.
//t3Track in which the instrument can be played back.
//Only t3Track is an unit generator, the sample and instrument are
simple classes.
t3Sample the_sample;
t3Instrument the_instrument;
t3Track the_track;

//load the sample...
"G:/saját/program/chuck-1.2.1.3-t3/examples/data/kick.wav" => the_sample.read;
//just print out some info to see if the file was loaded OK...
<<<the_sample.channels(), the_sample.length(), the_sample.samples()>>>;

//set up the instrument...
the_sample => the_instrument.sample; //this means the_instrument will
play back the_sample
//set the base frequency to 1, so if the instrument is triggered in a
track with frequency 1 it will play at original speed
1.0 => the_instrument.base;

//create the patch...
the_track => dac;

//now start the "song"...
//the line below tells: start playing the_instrument with frequency 1
and volume 1 in the_track.
the_track.trig(the_instrument, 1.0, 1.0);
0.5::second => now;
//play it back again with double speed (frequency is now 2)
the_track.trig(the_instrument, 2.0, 1.0);
0.5::second =>now;


Regards,
Imre


More information about the chuck-users mailing list