Skip to content

Score language reference

Every block, key and value the language accepts.

Blocks

song

whole-song propertiestop level

KeyValueNotes
titletextthe song's name
tempotempobeats per minuterequired
metermeterbeats per bar over the beat unitrequired
gridgridsteps per beat, or auto to derive it from the durations written
keykeythe home keyrequired
seedseedthe root of every random choice

channel

one instrumenttop level

KeyValueNotes
instrumentinstrumentwhat plays this part
mixerintegerthe mixer track to route to
rangepitchRangethe pitches this channel may use
velocityjitteredInt0..127, optionally jitteredoverridable
octaveintegeroctaves to shift byoverridable

voicing

how a chord is laid outtop level

KeyValueNotes
sizevoiceshow many voices sound
spreadspreadhow the voices are laid out
registerpitchRangewhere the voicing sits
motionmotionhow it moves from the chord before
maxLeapintegerthe largest jump one voice may make
bassbassRulewhich note goes at the bottom - from-inversion honours ^N

rhythm

a cycle of durationstop level

A list body rather than a set of keys.

harmony

a chord progressiontop level

KeyValueNotes
keykeythe key these numerals are read in

section

a named span of barstop level

Contains: part, harmony

KeyValueNotes
lengthbarshow long this section isrequired
harmonyharmonyRefwhich progression it uses

part

what one channel plays in this sectionnested

Contains: melody, counterpoint, imitate, rhythm

KeyValueNotes
chordsvoicingRefplay the harmony, voiced
linelineSourceplay a single line
rhythmrhythmRefwhich rhythm to useoverridable
octaveintegeroctaves to shift byoverridable

melody

a generated single-voice linenested

Contains: rhythm

KeyValueNotes
rhythmrhythmRefwhich rhythm to useoverridable
articulationarticulationhow long each note soundsoverridable
contourcontourthe shape of the lineoverridable
strongstrongRulewhat may fall on a strong beatoverridable
variancenumber0 is the same every compile; above 0 explores, reproduciblyoverridable
mutemuteBudgethow many onsets become restsoverridable
leapleapRulethe widest jump, and whether one has to be answered by a stepoverridable
alignalignmentbar restarts the rhythm at each bar line; continuous lets it phaseoverridable
cadencecadencewhich tone of the last chord to end on - 1, or choose [1 3 5] per instanceoverridable
rangepitchRangethe pitches this melody may useoverridable

counterpoint

a voice written against anothernested

Contains: rhythm

KeyValueNotes
rhythmrhythmRefwhich rhythm to useoverridable
articulationarticulationhow long each note soundsoverridable
rangepitchRangethe pitches this voice may useoverridable
variancenumber0 is the same every compile; above 0 explores, reproduciblyoverridable
alignalignmentbar restarts the rhythm at each bar line; continuous lets it phaseoverridable
parallel-fifthsruletwo voices moving in parallel into a fifthoverridable
parallel-octavesrulethe same, into an octave or a unisonoverridable
direct-fifthsruleboth voices moving the same way INTO a fifth or an octaveoverridable
voice-crossingrulethis voice passing through the one it answersoverridable
dissonance-on-strongrulea dissonant interval on a beat that carries weightoverridable
leapsrulehow much a jump costsoverridable
repeatsrulehow much repeating the same pitch costsoverridable

imitate

a voice repeating another, laternested

KeyValueNotes
delaybarshow far behind the voice it copiesrequiredoverridable
transposeintegerhow far up or down, in scale degrees or semitonesoverridable
modetransposeModediatonic stays in the key; chromatic moves exactlyoverridable

arrangement

the order the sections play intop level

A list body rather than a set of keys.

overrides

per-instance changesnested

Contains: part

A list body rather than a set of keys.

Values

31 value kinds

ValueNotes
texta quoted string
integera whole number
numbera number
tempoa tempo, like 96 bpm
metera meter, like 4/4
gridauto or a number of steps per beat
keya key, like F minor
seeda number
pitchRangea pitch range, like C3..C5
barsa number of bars, like 8 bars
jitteredInta number, optionally +- n
voicesa number of voices, like 4 voices
muteBudgeta budget, like 1 of 4
spreada voicing spreadcloseopendrop2drop3shellrootless
motiona voice-leading motionsmoothparallelfixed
contoura melodic contourarchrisefallflatwave
strongRulea strong-beat rulechord-tonesscale-tonesfree
articulationan articulationlegatodetached
lineSourcea line sourcerootroot-fifthroot-third-fifth
cadencea chord tone to end on
ruleforbid, or soft and a weight
bassRulewhich note goes at the bottomfrom-inversionrootany
leapRulemax <semitones>, and how a leap is answered
alignmentwhether a rhythm restarts at each barbarcontinuous
transposeModediatonic or chromaticdiatonicchromatic
scopehow often a choice is re-drawnnotebarinstancesectionsong
instrumentan instrumentsynth
rhythmRefthe name of a declared rhythm
voicingRefthe name of a declared voicing
harmonyRefthe name of a declared harmony
channelRefthe name of a declared channel

Modes

DegreesTakes roman numerals
major0 2 4 5 7 9 11yes
minor0 2 3 5 7 8 10yes
dorian0 2 3 5 7 9 10yes
phrygian0 1 3 5 7 8 10yes
lydian0 2 4 6 7 9 11yes
mixolydian0 2 4 5 7 9 10yes
locrian0 1 3 5 6 8 10yes
harmonic-minor0 2 3 5 7 8 11yes
melodic-minor0 2 3 5 7 9 11yes
major-pentatonic0 2 4 7 9no
minor-pentatonic0 3 5 7 10no
blues0 3 5 6 7 10no
chromatic0 1 2 3 4 5 6 7 8 9 10 11no

A roman numeral names a scale degree, so a pentatonic or a blues scale cannot carry one.