[chuck-users] teaching with ChucK (was Windows XP ...)
joerg at piringer.net
Thu Apr 20 20:29:56 EDT 2006
i am still exploring chuck (currently trying to implement
sample-timestretch, scroll down for a very messy & crude attempt) but i
think this will be my tool of choice, so you can put me on the "list of
places that use ChucK for education".
Ge Wang wrote:
> Hi Joerg!
>> btw: anyone using chuck for education? i am planning to use chuck in a
>> class at university...
> I think several institutions have started to use chuck as a teaching
> tool, both for audio synthesis and programming. We taught and are
> teaching the Princeton Laptop Orchestra with ChucK, and have been
> pleasantly surprised by the result. Last semester, we taught ChucK to 15
> freshmen (none of whom had prior programming experience). They were
> hooked from the start (the assignments eventually included building a
> on-the-fly generative drum machine, a soundscape, duo and trio
> performances). The bulk of the success, I believe, was due to the sheer
> creative will and energy of the students (they all were fantastic), but it
> also proved to us that ChucK can be a viable and beneficial teaching tool.
> Perry, Dan Trueman, Scott Smallwood, and students can provide better,
> potentially different, and more extended perspectives, this was just my
> 2::cent on ChucK and PLOrk.
> If anyone else is using ChucK in the classroom (I know of folks at UVic,
> McGill, GA Tech, and few other places that use chuck to various degrees),
> we'd love to hear about it. Perhaps we can eventually make a list of
> places that use ChucK for education, and share our materials/experiences.
> (Feel free to fire away.)
// the patch
sndbuf buf => blackhole;
impulse i => dac;
// load the file
"../data/voice.wav" => buf.read;
2000 => int looplength;
0.01 => float loopadvance;
0 => int sm;
0 => float rpos;
// time loop
buf.valueAt(sm + (rpos $ int)) => i.next;
if(sm > looplength)
0 => sm;
1 +=> sm;
if(rpos > buf.samples()-looplength)
0 => rpos;
loopadvance +=> rpos;
1::samp => now;
More information about the chuck-users