home/ atoms/ sonic-pi-chord-scale-fns

chord() and scale() return rings of MIDI notes, making music-theory patterns directly executable

chord(:E3, :minor) returns a ring of MIDI note numbers for E minor in octave 3. scale(:c3, :major) returns all notes of C major; num_octaves: N extends across N octaves. Both return rings, supporting .tick, .choose, and all ring chain methods. play accepts a list or ring directly to sound a chord. play_pattern_timed steps through a list with specified durations. These functions map music-theory names directly into code, removing the need to know MIDI numbers.

Examples

play chord(:E3, :minor) play_pattern_timed scale(:c3, :major), 0.125, release: 0.1

Assessment

Arpeggiate a D7 chord at 16th-note speed. Explain the difference between .choose and .tick when iterating through a scale.

“built-in support for chord names which will return lists”
corpus · sonic-pi-built-in-tutorial · chunk 17