home/ atoms/ chuck-no-native-scale-chord

ChucK has no native scale, chord, or euclidean primitive; these must be hand-rolled from arrays and Std.mtof

ChucK provides no built-in scale quantizer, chord type, or Euclidean rhythm generator equivalent to Strudel’s .scale(), chord(), or (3,8) notation. These abstractions must be hand-rolled: a scale is an int[] of MIDI degrees combined with Std.mtof() for frequency conversion; a chord is realized as parallel UGen voices; an Euclidean pattern is computed as an onset array. This is not an error — the vocabulary simply does not exist — and it is recorded as an approximation feeding L2c realizability notes.

Examples

int scale[] = [0,2,4,5,7,9,11]; Std.mtof(60 + scale[i]) => s.freq; for a hand-rolled major scale.

Assessment

Describe how to realize a minor scale melody in ChucK without any built-in scale primitive, and identify two other music abstractions that are similarly absent.

“No native scale/chord/euclid** | expecting Strudel-style `scale()`, chords, `(3,8)` | Not an error — the vocabulary doesn't exist”
context/ · L5-debug/chuck.md · chunk 1