Skip to content

Scales

scales(beats, dsl)

Returns a ScalePattern that maps sequence degrees to MIDI pitches.

scales(beats: number, dsl: string): ScalePattern

DSL format

'root:mode' — single scale repeated every cycle.

'root:mode,root:mode,...' — multiple scales, cycling every beats.

Available modes

major minor dorian phrygian lydian mixolydian locrian pentatonic blues harmonic-minor melodic-minor whole-tone diminished chromatic

Examples

const key = scales(4, 'D4:minor') // Dm, same scale every cycle
const bKey = key.transpose(-12) // 1 octave lower
const prog = scales(8, 'C4:major,A3:minor') // cycles every 8 beats

.transpose(semitones)

Returns a new ScalePattern shifted by semitones. Negative values move down.

const key = scales(4, 'D4:minor')
const bKey = key.transpose(-12) // one octave lower