Fachbereich Informatik Technische Universität Darmstadt Alexanderstr. 10 D-64283 Darmstadt, Germany Email: hoos@informatik.th-darmstadt.de |
School of Music University of British Columbia 6361 Memorial Road Vancouver, BC, V6T 1Z2, Canada Email: hamel@unixg.ubc.ca |
In the present version, GUIDO supports most of the commonly used concepts of conventional music notation; however, it is designed to be a flexible and easily extendable open standard. Various extensions of the Basic GUIDO Notation Format include mechanisms for representing musical structure, abstract scores, micro-tonal music, and generalized timed events (for multi-media support). These extensions will be specified in subsequent versions of this document.
GUIDO has not been developed with a particular application in mind but to provide an adequate representation formalism for score-level music over a broad range of applications. The intended application areas include notation software, compositional and analytical systems and tools, large musical databases, performance systems, and music on the World Wide Web.
The GUIDO Notation Format has been developed by Holger H. Hoos, Technical University of Darmstadt, Germany and Keith Hamel, University of British Columbia in Vancouver, Canada; some features are based on discussions with Michael Fuhlbrügge, Kai Flade, Thomas Helbich and Jürgen Kilian. It is named after Guido d'Arezzo (990-1050), a renowned music theorist of his time and important contributor to today's conventional musical notation (CMN). His achievements include the perfection of the staff system for music notation and the invention of solmisation (solfege).
The GUIDO Notation Format is publicly and freely available; it can and should be freely used for arbitrary scientific, educational or commercial purposes. However, the GUIDO Notation Format specification remains the intellectual property of the authors of this document. It is our wish that every publicly available software supporting GUIDO and every extension of GUIDO as specified in this document should be brought to our attention.
notename accidentals octave duration
the corresponding represention for rests is
'_' duration
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 (for details, see below) or assumed to have standard values (see below) when required (such as for musical playback or notation).
Remarks:
Remarks:
Remarks:
d1*3/4 c#-1/8 h&/6 _*2 c&&2/2. cis/4.. fa##1 sol&0
\bar % barline \clef<"g2"> % treble clef \slur(c1/4 d e) % slurred group \label<"motive A">(g1/2 f#/4 g g#/2) % named sequence
[ a1*1 ] % single note [ c1/4 d e f g a h c2/2 ] % C major scale % short motive with meter, barlines and a slur: [\meter<"4/4"> f0/4 \bar c1/2 \slur(e&/4 c) \bar g/2]
{c1/4., e&1/4., g1/4.} % c minor triad , ascending order {c1/4.,e&,g} % same as above, abbreviated notation {c#1/4,e#,g#} % C-sharp major triad, ascending order {c2, dis1, ais0, fis} % four-voice chord, descending order
[ {c1/4,e,g} {c,f,a} {d,f,h} {c1/2,g1,c2} ] % progression of triads [ _/8 \slur(c1 d e) {fis/2, ais} e/2 ] % mixed notes and chords
{ [a0/4 h \slur(c1/8 h0) a/4], % first voice [c1/4 d e/2], % second voice [e1/8. \slur(f/16 e/8) d c h0 a/4] } % third voice
Examples:
% a comment-line a0/4 h \slur(c1/8 h0) % a/4 <-- the last note is commented out [ c1/4 (* comment starts here ... d e f <-- part of the comment! ... ends here *) d ] % the sequence has only two notes!
\intens, \i, \cresc, \dim, \crescBegin, \crescEnd, \dimBegin, \dimEnd, \tempo, \accel, \rit, \accelBegin, \accelEnd, \ritBegin, \ritEnd, \instr, \tie, \slur, \sl, \stacc, \accent, \ten, \marcato, \trill, \mord, \turn, \trem, \fermata, \grace, \cue, \repeatBegin, \repeatEnd, \clef, \meter, \key, \oct, \staff, \beam, \bm, \beamsAuto, \beamsOff, \stemsAuto, \stemsUp, \stemsDown, \bar, \doubleBar, \tactus, \text, \t, \title, \composer, \mark, \label.
These standard tags and their usage are explained in the
following sections.
Advanced GUIDO Notation covers some of the more advanced
concepts not covered in Basic GUIDO Notation such as
glissando, arpeggio, clusters, microtonal alterations,
different types of noteheads, different types of staves,
and many features from contemporary notation.
It also addresses issues of advanced score setting such
as exact spacing and positioning of notation and graphical
elements.
Advanced GUIDO Notation will be realised
by an extended set of standard tags; the specification
is currently under development and will be available soon.
Extended GUIDO Notation includes various features which
extend Basic and Advanced GUIDO Notation beyond
conventional music notation (CMN).
Some of these features are generic pitch-classes,
microtonal tuning systems and exact timing,
generic tone descriptions, abstract and hierarchical scores,
generalized events and user-defined tags.
Extended GUIDO Notation will be realised
by introducing an extended set of event types;
the specification
is currently under development and will be available soon.
We wish to thank Michael Fuhlbrügge, Kai Flade,
Jürgen Kilian and Thomas Helbich for their contributions
to many discussions in the early stages of the GUIDO development
and for their comments on earlier versions of this document.
The first author also wishes to thank the German National Merit Foundation
(Studienstifung des deutschen Volkes) and Prof. Dr. Wolfgang Bibel (TU Darmstadt)
who supported his stay at the University of British Columbia in Vancouver during
which the main part of this work was done.
2.7.1 Dynamic markings
Remarks:
Examples:
[ \intens<"mf"> c2/2 \intens<"pp"> d1/2] % dynamic markings
[ \intens<"mf",0.5> c2/2 \intens<"pp",0.2> d1/2] % same with MIDI velocity
[ \cresc( a#0/4 g# c#1)] % unspecific crescendo
[ \intens<"mf"> \dim<"mp">( a#0/4 g# c#1)] % diminuendo with dynamic markings
[ \intens<"mf",0.6> \dim<"mp",0.3>( a#0/4 g# c#1)] % same with MIDI velocity
[ \intens<"mf",0.6> \dimBegin a#0/4 g# c#1 \dimEnd<"mp",0.3>] % same using \dimBegin, \dimEnd
2.7.2 Tempo indications
Remarks:
Examples:
[ \tempo<"Moderato"> c2/2 d1/2] % tempo indication
[ \tempo<"Moderato","1/4=60"> c2/2 d1/2] % same with absolute tempo
[ \rit( a#0/4 g# c#1)] % unspecific ritardando
[ \accel<"Presto">( a#0/4 g# c#1)] % accelerando
[ \accel<"Presto","1/2=160">( a#0/4 g# c#1)] % same with absolute tempo
[ \accelBegin a#0/4 g# c#1 \accelEnd<"Presto","1/2=160">] % same using \accelBegin, \accelEnd
2.7.3 Instrument
Remarks:
Examples:
[ \instr<"Flauto 1"> c1/2 e&/4 e& | _ f a&/2 ]
[ \instr<"Piano", "MIDI 0"> 0/8 h | c1/2 c/4 | c/2. ] % with MIDI code
[ \instr<"Cl 1 (in A)"> d&/2 g&/4 _ \instr<"BCl"> e&-1/1 ] % instrument change
2.7.4 Ties
Remarks:
Examples:
[ \tie(d1/4 d/16) e/8 ] % ties the first two notes together
[ \tie(c#1/1 | c# | c#) ] % tied group with barlines
2.7.5 Slurs
Remarks:
Examples:
[ \sl(d1/4 e/16) f0/8 ] % slur between first two notes
[ \slur<+10,+12>(d1/4 _ e/16) f0/8 ] % non-standard slur
[ \slur<0,+10, 0.25,+16, 0,+12>(c#1/4 g f#) ] % 3-control-point bezier slur
[ \sl(c#1/4 e) \sl(g f#)) ] % nested slurs
2.7.6 Accents and Expressive Markings
Remarks:
Examples:
[ e1/4 \stacc(e&/8 e) e/2] % a staccato group
[ e1/4 \ten(e&/8 d&) e/2] % a tenuto group
[ \marcato(e1/4 e) f#/2] % a marcato group
[ \accent(e1/4 e) f#/2] % an accented group
2.7.7 Trills and Ornaments
Remarks:
Examples:
[ e1/4 \trill({e&/4,f}) e/2] % an unspecific trill
[ e1/4 \trill<32>({e&/4,f}) e/2] % trill to be executed as 1/32 notes
[ e1/4 \trill<32>({e&/4,f} {c/2,c#}) e/2] % trill sequence
[ e1/4 \mord({e&/4,f}) e/2] % a mordent
[ e1/4 \mord<32>({e&/4,d}) e/2] % inverse mordent to be executed as 1/32 notes
[ e1/4 \turn({e&/4,f,d}) e/2] % a turn
[ e1/4 \turn<64>({e&/4,d,f}) e/2] % inverse turn to be executed as 1/64 notes
2.7.8 Tremolo
Remarks:
Examples:
[ e1/4 \trem(e&/4) e/2] % unmeasured tremolo
[ e1/4 \trem<32>(e&/4) e/2] % measured tremolo
[ e1/4 \trem<32>(e&/4 c/2) e/2] % tremolo sequence
2.7.9 Fermatas
Remarks:
Examples:
[ e1/4 \fermata e/2] % fermata between notes
[ c0/4 e d \bar \fermata e/2] % fermata on barline
[ c0/4 e \fermata(d/2)] % fermata on single note
[ c0/4 e \fermata(d/2 d#/2 e#/1)] % fermata sequence
2.7.10 Grace Notes and Cue Notes
Remarks:
Examples:
[ \grace(g1 f) e/4 \grace(f) e/2] % grace notes
[ \grace<32>(g1 f) e/4 \grace(f) e/2] % 1/32 grace notes
[ \cue(d#1/4 d# d#) g#/2] % unspecific cue notes
[ \cue<"Ob 1">(d#1/4 d# d#) g#/2] % cue notes played by Oboe 1
2.7.11 Repetitions
Remarks:
Examples:
[ \repeatBegin c1/2 g/4 f ... e/4 g/2 \repeatEnd ] % simple repetition
[ \repeatBegin c1/2 g/4 f ... \repeatEnd<1>(e/4 g/2) e&/4 f e& ] % simple repetition with variant ending
[ \repeatBegin<3> c1/2 g/4 f ... e/4 g/2 \repeatEnd ] % multiple repetition
[ \repeatBegin<3> c1/2 g/4 f ... \repeatEnd<1>( e/4 g/2 )
\repeatEnd<2>( e/4 g f ) e&/4 f e& ] % same with variant endings
2.7.12 Clefs
Remarks:
Examples:
\clef<"f"> or \clef<"f3"> or \clef<"basso"> % bass clef
\clef<"g2-8"> % transposed treble clef
\clef<"gg"> or \clef<"gg2"> % double g2 clef
2.7.13 Meter / Time Signatures
Remarks:
Examples:
\meter<"2/4"> % 2/4 meter
\meter<"3/8"> % 3/8 meter
\meter<"C"> % 4/4 meter with C time signature
2.7.14 Key / Key Signatures
Remarks:
Examples:
\key<0> % no sharps or flats
\key<-3> % 3 flats, E& major or c minor
\key<+2> or \key<2> % 2 sharps, D major or b minor
\key<"C"> % C major, no accidentals
\key<"e&"> % e& minor, 6 flats
2.7.15 Octava transpositions
Remarks:
Examples:
[ h2/4 \oct<+1> c2 e/2 \oct<0> e1/2] % 8va transposition
[ h2/4 \oct<+1>( c2 e/2 ) e1/2] % same, using different notation
[ h1/4 \oct<-2>( d0 e/2 ) e1/2] % 15ma bassa
2.7.16 Staves
Remarks:
Examples:
{ [\staff<1> e1/8. \slur(f/16 e/8) d c h0 a/4], % first voice
[\staff<1> c1/4 d e/2], % second voice, same staff
[\staff<2> a0/4 h \slur(c1/8 h0) a/4] } % third voice, separate staff
2.7.17 Beams
Remarks:
Examples:
[ \beam(d1/16 e c/8) \beamsOff d e ] % beams the first group, while the last two eigth notes are not beamed
[ \beamsOff \beam(d1/16 e c/8) d e ] % equivalent to the above
[ \beam( \beam(d1/16 e) \beam(c d))] % explicitly group the 1/16th in 2+2
[ \beam<6,8>( d1/16 e c d))] % unusual position of the beams
2.7.18 Stems
Examples:
[\clef<"g"> \stemsAuto c1/4 e g h/2]
[\clef<"g"> \stemsDown c1/4 e g \stemsUp h/2] % same as above with explicit stem directions
[\clef<"g"> \stemsUp c1/4 e g h/2] % all stems upwards
2.7.19 Barlines and Tactus Strokes
Remarks:
Examples:
[ c1/2 e&/4 e& | _ f a&/2 ] % two 4/4-measures
[ a0/8 h | c1/2 c/4 | c/2. ] % two 3/4 with up-beat
[ \meter<"C"> c1/4 d e/2 \bar<2> e/4 f g \bar<3> _*1 ] % measure 3 starts 1/4 early
[ c1/2 \tactus e&/4 e& | _ f \tactus a&/2 ] % two 4/4-measures with tactus strokes
[ c1/2 e&/4 e& \doubleBar _ f a&/2 ] % two 4/4-measures with double barline
[ c1/2 e&/4 e& \doubleBar<15> _ f a&/2 ] % same with measure number
2.7.20 Text
Remarks:
Examples:
[ a#0/2 \text<"l.h."> g# c#1)] % standard text
[ a#0/2 \text<"l.h.",-4> g# c#1)] % standard text 4 halfspaces below staff
[ a#0/2 \text<"Cara mia"> g# c#1)] % simple lyrics
2.7.21 Title and Composer
Remarks:
Examples:
[ \title<"Aubade"> \composer<"Holger H. Hoos"> e&2/8 _ ] % title and composer
2.7.22 Markers and Named Sections
<Remarks:
Examples:
[ c1/2 g/4 \mark<"A"> f e f ] % simple marker
[ \mark<"ch:c7"> {c1/4,e&,g,b&} ] % marked chord
{[\label<"A"> c1/2 g/4 f],[c0/1]} % labeled segment
[c1/2 g/4 \label<"a1">(g1/8 f e/2 f/4 d/2) ] % labeled section (motive)
3 Advanced GUIDO Notation
4 Extended GUIDO Notation
Acknowledgements