Music Information Lab: 253/CS 275A)
Guido Music Notation
|
|
Guido Music Notation (GMN) is an ASCII-based music representation.
GMN can be converted to graphical music notation using several programs.
The website noteserver.org provides an
online method of generating music graphics which are easy for generating
musical examples for web pages. This lab introduces the basic musical
components present in GMN. More information on the GMN data format
can be found in the Basic
Guido Music Notation Specification: salieri.org/GUIDO/docu/spec1.htm.
Simple Example
Below is a simple musical example in GMN. The text on the left is the
musical data in GMN format which is converted to graphical music notation
using noteserver.org on the right.
Create your own graphical notation
Octave
The octave of a note is indicated by a number following the pitch
name. Octave 1 is the octave starting at middle C (C4), and going up through
the note B4. One octave higher than middle C is octave 2, and octave 0
is one octave lower than middle C. The octave below 0 is -1, which is
indicated like this: c-1.
Note that the octave is sticky. If you do not specify an octave
value for the following note, then the preceeding octave value will
be applied to the next note. See what happens when you generate
the graphical information for the following GMN data:
Accidentals
Chromatic alterations are indicated by a sign after the diatonic
note name and before any octave indication. Sharps are indicated
by a pound sign (#) and flats are indicated by
an ampersand (&). Double sharps/flats are indicated by the
doubling the accidental sign as shown in the following example.
Notice in the above example that the note E does not have an accidental
attached to it. Unlike octave indications, accidentals are not sticky.
Accidentals only affect the note to which they are attached.
Duration
So far, all graphical notes have had the duration of a quarter note, which is
the default duration when none is specified. To indicate a different
rhythm, then indicate the rhythm after any octave indicator by writing
a slash (/) followed by the duration of the note in terms
of divisions per whole note:
| whole note | 1 |
| half note | 2 |
| quarter note | 4 |
| eighth note | 8 |
| sixteenth note | 16 |
| thiry-second note | 32 |
[c/1 c d/2 d e/4 e f/8 f g/16 g a/32 a]
|
|
|
Notice that the duration information is sticky just like
the octave information. If a duration is not specified, then the
duration of the previous note is carried over to the next note.
Augmentation dots:
Try the following example and notice how the dots and the rhythms
interact, i.e., what are the rhythms of the following six notes?
How do the dots affect the rhythm in the graphical notation?
What is the rule for dot stickiness?
Rests
Rests are indicated by replacing the pitch name with an underscore (_).
Clefs
The default clef for GMN is the treble clef. Clefs can be
specified explicitly as in the following example:
[ \clef<"g2"> c d e f
\clef<"f4"> c d e f ]
|
|
|
Note that the clef parameter is case-sensitive, so "f4" is not the
same as "F4". Try changing "f4" to "F4" in the above example.
Time Signature
Here is an example which generate a 4/4 time signature:
[ \meter<"4/4"> c d e f/8 g ]
|
|
|
Key Signature
[ \meter<"4/4"> \key<-2>
c d e& f/8 g ]
|
|
|
Notice that the note e-flat needs a flat marking eventhough the
flat is included in the key signature. Also notice that the graphical
music reverses the order of the time signature and key signature as
given in the GMN data (putting it into the traditional order).
Try the following example:
[ \key<-2> \meter<"4/4">
c d e& f/8 g ]
|
|
|
Barlines
Music in a specified meter will automatically be segmented into
separate measures:
[ \meter<"2/4"> c/2 d e f g a ]
|
|
|
If a meter is not specified, you can indicate a barline like this:
[ c/2 \bar d \bar e \bar f \bar g \bar a ]
|
|
|
You can also specify the barlines when there is a meter present
to help keep track of the position of the music.
Slurs
Here is an example of a slur marking:
Ties
Ties look similar to slurs in musical notation, but they serve
different functions. Slurs indicate that notes are to be played
legato, overlapping slightly in time. More than one note can be
enclosed by a slur. Ties can only connect two notes of the same
pitch. The second pitch's duration is added to the first note's
duration, and the second note is not attacked. The following
two examples are equivalent, but the second is useful if the
tie overlaps with a slur marking.
[ c d \tie( d d d ) d e f g a ]
|
[ c d \tieBegin d d d \tieEnd d e f g a ]
|
|
|
Listen to the MIDI output from the above example at NoteServer and
compare to an example which uses slurs. Notice how successive ties
notes are graphically represented.
Chords
Chords are indicated by enclosing notes which occur at the same time
inside of braces ({, }) with each note in the chord separated by
a comma. Note that octaves are sticky according to the linear progression
of notes in the data, so the last g in the example is in octave 2
rather than octave 1 because it follows the note c2 in the data.
[ {c,e,g} {e,g,c2} {g,c2,e2} ]
|
|
|
Beaming
Note that beaming is done automatically in GMN by default.
You can turn off beaming by using the command \beamsOff.
[ \beamsOff c/8 d e f g a b c2 ]
|
|
|
Beaming can be specified manually with the \beam() directive.
[ \beamsOff c/8 \beam( d e f ) g a b c2 ]
|
|
|
Articulations
Staccato
[ \stacc(c) d \stacc(e f g) ]
|
|
|
Systems
Multiple staves can be grouped together with braces ({, }) separated
by a comma as in the following example. Each line of music is placed in
square brackets and they are listed serially starting with the top
line of music in the system (group of staves).
{ [ c d e f g],
[ \clef<"f4"> g0 f e d c ] }
|
|
|
Expressions
Dynamics are indicated by using \intens<> or the shorthand \i<>
which comes before the note underwhich the dynamic will be placed.
[ \intens<"mf"> c2/2 \i<"pp"> d1/2]
|
|
|
Crescendos/Decresendos can be indicated with two methods: (1) as a single
marker using \cresc() or \dim(), or (2) as a
two symbol set for more complicated groupings of notes using \crescBegin, \crescEnd and \dimBegin, \dimEnd.
[\cresc(a/8 g f e) \dimBegin c e g c2 \dimEnd]
|
|
|
Full GMN Specification
Exercises
- Enter the above examples at
NoteServer.org (or another program which
processes GMN data) and try modifying them.
- Write down the GMN representation which can create
the following graphical music:
- Convert your GMN data into graphical music. Compare your graphic
representation with the above version. What are the similarities
and differences between the two versions?
- Create a title to a musical example in Guido Music Notation,
such as the following example:
- All of the musical examples on this page end with a double final
bar which is the default style for the Guido NoteServer.
Figure out how to specify no final bar, such as in this example:
- Input a melody of your choice in Guido Music Notation and convert
it to graphical notation.
- What advantages/disadvantages might GMN have for inputting music
manually. What about for parsing/processing with a computer?
- Extra Credit: Write a program which automatically generates
a melody and outputs into the Guido Music Notation format. See
the webpage henon.sapp.org for
an example.
-- Craig Stuart Sapp
|