Page  00000397 Pel I ~-(*, ( ( voice 1').\systemFormat<scaves~'l-4, dxO0> \accol<idO. range-~1-2, style= straightBrace*> \staf <idl.dy=2. 5cm> \barPormatstyle='staffst *, --.- - \stacfFormat<style'3--lin'e, size=0.875a >... \clef~<perc*>... \meter<sig'3*+2/8">... \dottedBar<2>... \tuplet<~ormato'-6: $5-, dyl--14.3h, dy2-10.3hs> ( -\beam<dy--lO0hs,dy2--6hs>(g95/48 \grace<l6 '/">(e g) ff. \tuplet<formatus-3- *,dyl-4hs, dy2*6hs> (\beam(g*5/144 c e)) S... ) ) \barPFormat<*accolade*> \bar... ),, (* voice 2, system and staff-layout-tags removed *)... t" -afOftt \epty*5/8 \staffOn \clef<'perc'> \space<2.5nStm \bar... 1. ( (* voice 3, some layout-tags removed *)$ HA. L -. \accol<ido2, ranges'3-4*, styles-'curlyBrace *> m. \barFormat<s~yle"'accolade*> "\staeaf fFaormnnastyle standard', sizel. 12Samm " \glissando<stylev'wavy'*,dxl2nmmdyl-1. Shs. dx2.-0.7na.dy20hs> ( c11/8 \space<7nm> \text<'gliss.'* empcty4/8 \bar<2> \space<c6w> Y \stemsaown \marcato( ( \headsRightg93*l/8), it, \headsRight(e), dt ) )) \staffOfC 1. ( (* voice 4 ) ) Figure 2: Example showing some of the advanced notation features of GUIDO (60% reduced in size). two notational elements, e.g., two notes, it overrides any automatic spacing and forces the given amount of horizontal space to separate the horizontal reference positions of the elements. Advanced GUIDO includes all tags defined in Basic GUIDO, but allows exact positioning and layout information to be specified using additional optional parameters. For instance, it is possible to exactly define the slope of a slur, or to change the size or type of a notehead, whenever this is needed. While Advanced GUIDO descriptions will usually include complete layout and formatting information, this information may also be partially specified. In this case, an application reading such a GUIDO description will try to infer unspecified information automatically where needed. Likewise, specific information not required or supported by an application can easily be ignored when interpreting the GUIDO input. Note that this approach allows the adequate representation of scores: only when exact formatting information is really needed, the corresponding additional tags and parameters have to be supplied. Figure 1 shows a short example illustrating Advanced GUIDO's exact formatting and spacing features. The GUIDO code includes page, system, accolade, and staff formatting as well as accurate horizontal spacing information using the \space tag. Stem directions, beam groupings, articulations (\ten, \stacc, \accent) and dynamic markings (\crescBegin, \crescEnd, \intens) are also specified precisely.3 2.3 Advanced notational features Advanced GUIDO also supports "advanced" notational features, such as glissandos, arpeggios, clusters, or figured bass indications, as well as less commonly used barline types, clefs, rehearsal marks, etc. Not all of these advanced musical concepts have standardised representations in conventional music notation; this leaves notation software supporting GUIDO some freedom in dealing with them. While, due to the restricted space, we cannot discuss advanced notational elements in detail here, the 3The complete GUIDO sources for the examples presented here can be found at the GUIDO Music Notation Page, http://www.informatik.tu-darmstadt.de/AFS/GUIDO. example in Figure 2 illustrates some of them. Note, for instance, the \staffFormat tag in the first voice, which not only defines the staff to have three lines, but also reduces its size (compare to corresponding size-parameter in third voice). Note also the use of a percussion clef (\clef< "perc" >) in staves 1 and 2. As can bee seen in the first voice, nested tuplets can be described in a straightforward way using \tuplet tags with nested ranges; nested beams are represented analogously. Voice 3 shows the usage of the \glissando tag, which allows not only the style but also the exact offsets from the reference positions to be specified. Furthermore, the second voice demonstrates the use of the \staffOff and \staffOn tag, to prevent sections of the staff from being shown. 3 Notation Software Supporting GUIDO GUIDO NoteViewer & NoteServer. GUIDO NoteViewer was developed as a standalone program to display and print GUIDO files. At this time, GUIDO NoteViewer supports almost all Basic GUIDO tags. Many of the Advanced GUIDO features are currently being implemented and will be available soon. As GUIDO NoteViewer was being developed from scratch, it uses GUIDO as its internal data format. Almost all of the algorithms within GUIDO NoteViewer (like, for example, the automatic inference of \bar tags from the \meter tag) are implemented as GUIDO-to-GUIDO transformations. It is always possible to extract the internal GUIDO representation to understand how certain algorithms work. To further promote GUIDO and its wide-spread use, we developed the GUIDO NoteServer, a publicly available notation service which can be accessed easily through the WWW (Renz, Hoos; 1998).4 GUIDO descriptions are transmitted to GUIDO NoteServer through the CGIO (common gateway interface) or through JAVA-based mechanisms. The server then creates a GIF picture of the corresponding conventional score and displays it in the user's web browser. GUIDO NoteServer also supports the embedding of dynamically created scores in arbitrary web pages. As GUIDO NoteServer renders the score from a textual, human-readable GUIDO representation, it is relatively 'The GUIDO NoteServer can be publicly accessed via http://www.informatik.tu-darmstadt.de/AFS/GUIDO. ICMC Proceedings 1999 - 397 -