Notes and Rests
The general syntax for representing notes is:
The corresponding representation for rests is:
Both notes and rests are instances of GUIDO events; in particular, rests are treated as special notes, which have a duration but neither accidentals nor an octave value. Octave and duration can be omitted; if so, they are inferred from preceeding notes (or rests) within the same sequence or chord or assumed to have standard values when required (such as for musical playback or notation).
There are different systems of note names:
c d e f g a h/b
c cis d dis e f fis g gis a ais h/b
do re me fa sol la si/ti
Arbitrarily mixing these systems is possible, but discouraged.
bdenote the same pitch-class (
bbeing used in the international system,
hin the german system).
tidenote the same pitch-class (
sibeing used in the french and italian,
tiin the english solfege system).
Accidentals is an arbitrary sequence of the symbols
# and `& (for sharp and flat); in particular,
## is a double sharp,
&& a double flat.
Accidentals cannot be used with rests.
Accidentals are valid only for the note in the description of which the appear.
The usage of arbitrary sequences of accidentals without a reasonable interpretation in CMN (such as
#&#) is discouraged.
Chromatic pitch-classes are assumed to be different from alterated diatonic ones, i.e.,
c# != cis.
Octave is an integer number indicating the octave of the note, where
a1 is the 440Hz a. All octaves
start with the pitch-class c, so c1 is the c just below a1.
The usage of octaves beyond the range of -3..+5 is discouraged.
If octave is omitted from a note description, it is assumed to be identical to the last octave specified before in the current sequence.
Octave should always be specified at the beginning of each sequence; if this is not done, but an octave is required in the context of an application, a standard value of +1 is to be assumed.
Duration is specified in one of the following forms:
where enum and denom are positive integers and dots is either empty, '.', or '..'.
When no dots are present, the relative duration of the notes is assumed to be
- enum/denom beats in case (1);
- enum/1 beats in case (2);
- 1/denom in case (3).
Succeeding the duration by
- one dot '.' is equivalent to multiplying it by 3/2
- two dots '..' is equivalent to multiplying it by 7/4
Triplets are represented as *1/3, *1/6, ...; quintuplets, septuplets and so on are handled analogously.
Durations which are specified by fractions that are equal, such as *2/4 and *1/2, are considered
to be different.
Although dotted durations have equivalent dot-less durations, these are considered to be different (*1/4. is not identical to *3/8). If duration is omitted from a note description, it is assumed to be identical to the last duration specified before in the current sequence. Duration should always be specified at the beginning of each sequence; if this is not done, but a duration is required in the context of an application, a standard value of 1/4 is to be assumed.
Duration may also be specified in milliseconds. The corresponding form is
In this case, the actual musical duration is computed by assuming that the tempo is 60 quarter notes per minutes and thus, 1000ms are converted to a quarter note (*1/4).
No white space (blank, newline or tab) are allowed within note descriptions.
d1*3/4 c#0/8 h&/4 _/4. c&&/2. cis/4.. fa##1/4 sol&0