Score language reference
Every block, key and value the language accepts.
Blocks
song
whole-song propertiestop level
channel
one instrumenttop level
| Key | Value | Notes |
|---|---|---|
| instrument | instrument | what plays this part |
| mixer | integer | the mixer track to route to |
| range | pitchRange | the pitches this channel may use |
| velocity | jitteredInt | 0..127, optionally jitteredoverridable |
| octave | integer | octaves to shift byoverridable |
voicing
how a chord is laid outtop level
rhythm
a cycle of durationstop level
A list body rather than a set of keys.
harmony
a chord progressiontop level
| Key | Value | Notes |
|---|---|---|
| key | key | the key these numerals are read in |
section
a named span of barstop level
| Key | Value | Notes |
|---|---|---|
| length | bars | how long this section isrequired |
| harmony | harmonyRef | which progression it uses |
part
what one channel plays in this sectionnested
Contains: melody, counterpoint, imitate, rhythm
| Key | Value | Notes |
|---|---|---|
| chords | voicingRef | play the harmony, voiced |
| line | lineSource | play a single line |
| rhythm | rhythmRef | which rhythm to useoverridable |
| octave | integer | octaves to shift byoverridable |
melody
a generated single-voice linenested
Contains: rhythm
| Key | Value | Notes |
|---|---|---|
| rhythm | rhythmRef | which rhythm to useoverridable |
| articulation | articulation | how long each note soundsoverridable |
| contour | contour | the shape of the lineoverridable |
| strong | strongRule | what may fall on a strong beatoverridable |
| variance | number | 0 is the same every compile; above 0 explores, reproduciblyoverridable |
| mute | muteBudget | how many onsets become restsoverridable |
| leap | leapRule | the widest jump, and whether one has to be answered by a stepoverridable |
| align | alignment | bar restarts the rhythm at each bar line; continuous lets it phaseoverridable |
| cadence | cadence | which tone of the last chord to end on - 1, or choose [1 3 5] per instanceoverridable |
| range | pitchRange | the pitches this melody may useoverridable |
counterpoint
a voice written against anothernested
Contains: rhythm
| Key | Value | Notes |
|---|---|---|
| rhythm | rhythmRef | which rhythm to useoverridable |
| articulation | articulation | how long each note soundsoverridable |
| range | pitchRange | the pitches this voice may useoverridable |
| variance | number | 0 is the same every compile; above 0 explores, reproduciblyoverridable |
| align | alignment | bar restarts the rhythm at each bar line; continuous lets it phaseoverridable |
| parallel-fifths | rule | two voices moving in parallel into a fifthoverridable |
| parallel-octaves | rule | the same, into an octave or a unisonoverridable |
| direct-fifths | rule | both voices moving the same way INTO a fifth or an octaveoverridable |
| voice-crossing | rule | this voice passing through the one it answersoverridable |
| dissonance-on-strong | rule | a dissonant interval on a beat that carries weightoverridable |
| leaps | rule | how much a jump costsoverridable |
| repeats | rule | how much repeating the same pitch costsoverridable |
imitate
a voice repeating another, laternested
| Key | Value | Notes |
|---|---|---|
| delay | bars | how far behind the voice it copiesrequiredoverridable |
| transpose | integer | how far up or down, in scale degrees or semitonesoverridable |
| mode | transposeMode | diatonic 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
| Value | Notes |
|---|---|
| text | a quoted string |
| integer | a whole number |
| number | a number |
| tempo | a tempo, like 96 bpm |
| meter | a meter, like 4/4 |
| grid | auto or a number of steps per beat |
| key | a key, like F minor |
| seed | a number |
| pitchRange | a pitch range, like C3..C5 |
| bars | a number of bars, like 8 bars |
| jitteredInt | a number, optionally +- n |
| voices | a number of voices, like 4 voices |
| muteBudget | a budget, like 1 of 4 |
| spread | a voicing spreadcloseopendrop2drop3shellrootless |
| motion | a voice-leading motionsmoothparallelfixed |
| contour | a melodic contourarchrisefallflatwave |
| strongRule | a strong-beat rulechord-tonesscale-tonesfree |
| articulation | an articulationlegatodetached |
| lineSource | a line sourcerootroot-fifthroot-third-fifth |
| cadence | a chord tone to end on |
| rule | forbid, or soft and a weight |
| bassRule | which note goes at the bottomfrom-inversionrootany |
| leapRule | max <semitones>, and how a leap is answered |
| alignment | whether a rhythm restarts at each barbarcontinuous |
| transposeMode | diatonic or chromaticdiatonicchromatic |
| scope | how often a choice is re-drawnnotebarinstancesectionsong |
| instrument | an instrumentsynth |
| rhythmRef | the name of a declared rhythm |
| voicingRef | the name of a declared voicing |
| harmonyRef | the name of a declared harmony |
| channelRef | the name of a declared channel |
Modes
| Degrees | Takes roman numerals | |
|---|---|---|
| major | 0 2 4 5 7 9 11 | yes |
| minor | 0 2 3 5 7 8 10 | yes |
| dorian | 0 2 3 5 7 9 10 | yes |
| phrygian | 0 1 3 5 7 8 10 | yes |
| lydian | 0 2 4 6 7 9 11 | yes |
| mixolydian | 0 2 4 5 7 9 10 | yes |
| locrian | 0 1 3 5 6 8 10 | yes |
| harmonic-minor | 0 2 3 5 7 8 11 | yes |
| melodic-minor | 0 2 3 5 7 9 11 | yes |
| major-pentatonic | 0 2 4 7 9 | no |
| minor-pentatonic | 0 3 5 7 10 | no |
| blues | 0 3 5 6 7 10 | no |
| chromatic | 0 1 2 3 4 5 6 7 8 9 10 11 | no |
A roman numeral names a scale degree, so a pentatonic or a blues scale cannot carry one.