The Patchbay_

ChucK Cheat Sheet

ChucK's core ideas in brief — the => 'chuck' operator, advancing time explicitly, unit generators, and concurrency with sporked shreds.

Signal flow & the => operator

SinOsc s => dac;Connect an oscillator to the output
440 => s.freq;Set a value (chuck it into freq)
0.5 => s.gain;Set the gain
SinOsc s => LPF f => dac;Chain through a filter

Time (the heart of ChucK)

1::second => now;Advance time by one second
500::ms => now;Advance half a second
0.25::second => now;Sound only happens as time passes

Control flow

while(true) {
  440 => s.freq;
  0.5::second => now;
}
Loop forever, advancing time
for(0 => int i; i < 8; i++) { }Counted loop

Concurrency

spork ~ melody();Run a function as a parallel shred
me.yield();Let other shreds run

UGens & helpers

SinOsc, SawOsc, TriOsc, NoiseCommon oscillators / noise
ADSR, LPF, HPF, JCRevEnvelope, filters, reverb
Std.mtof(60)MIDI note → frequency
Math.random2(0, 127)Random integer in a range

ChucK — Strongly-timed language for real-time synthesis. · ChucK in the tool directory →

← All cheat sheets