MuUp is a text script, designed for representing musical notes along with their attributes in a textual format, able to be read as a string of characters.
To read up on some basic music theory to make writing the MuUp script simpler and easier to understand, click here.
The entire MuUp text is split along commas (separator - “, “) into individual components, which are then analyzed and appropriate objects generated. There are 3 types of components that could be generated:
In MuUp, the Western system of music has been implemented, which would include the notes, durations and octaves explained here.
The general format of any component of MuUp is first specifying what type of component it is, followed by the octave number(s) for given note(s) and their time duration(s).
To represent a monotone/monotone sequence, the prefix M
is used and the subsequent tone part is placed in parantheses following it. Similarly with polytones, the prefix P
is used and R
is used for rests.
Monotones refer to tones which are meant to be played singly, but one after the other. Monotones are written specific to the octave the notes belong to. This means that groups of notes with different or same durations can be grouped together, as long as they belong to the same octave.
There are two ways of representing monotones using MuUp:
Notes with common time duration in a single octave are represented as M(<octave>[<note> ...]<duration>)
.
For example, if the notes C, D and E of the 4th octave were to be played as 8th notes (quavers), they would be notated as:
M(4[C D E]8)
Notes with different time durations for each note in a single octave are represented as M(<octave>[<note> ...][<duration>...])
.
For example, if the notes C, D and E of the 4th octave were to be played as two 4th notes (crochets) and an 8th note (quaver), they would be notated as:
M(4[C D E][4 4 8])
Polytones refer to multiple tones meant to be played together at the same time. Some specific combinations of notes are called chords, although MuUp doesn’t support the writing of chords by name (yet).
Polytones are written specific to duration, which means all the notes in the polytone are to be played for the same duration of time. These notes can be in multiple octaves, or a single octave.
Polytones which need to be played with tones from a single octave are specified as P(<octave>[<note> ...]<duration>)
.
For example, if the notes C#, E and Gb of the 4th octave were to be played for a dotted 4th note’s worth of time (dotted crochet), it would be notated as:
P(4[C# E Gb]4.)
Polytones which need to be played with tones from multiple octaves are specified as P([<octave> ...]][<note> ...]<duration>)
.
For example, if the note Gb of the 3rd octave and the notes C# and E of the 4th octave were to be played for a half note (minim), it would be notated as:
P([4 4 3][C# E Gb]2)
Rests are periods of silence in music. To specify the number of beats for which a rest is to be maintained, the following scheme is followed:
For a rest of an xth note, the rest component will be written as R(x)
.
For example, a 16th note rest will be notated as:
R(16)
For a complete list of examples, click here.