GUIDO Music Notation is a computer music notation format designed to logically represent all aspects of music in a manner that is both computer-readable and easily readable by human beings. It was named after Guido of Arezzo, who pioneered today's conventional musical notation 1,000 years ago.
GUIDO was first designed by Holger H. Hoos (then at Technische Universität Darmstadt, Germany, now at University of British Columbia, Canada) and Keith Hamel (University of British Columbia, Canada). Later developments have been done by the SALIERI Project by Holger H. Hoos, Kai Renz and Jürgen F. Kilian. GUIDO Music Notation has been designed to represent music in a logical format (with the ability to render to sheet music), whereas LilyPond is more narrowly focused on typesetting sheet music.
GUIDO is not primarily focused on conventional music notation, but has been invented as an open format, capable of storing musical, structural, and notational information.
GUIDO Music Notation is designed as a flexible and easily extensible open standard. In particular, its syntax does not restrict the features it can represent. Thus, GUIDO can be easily adapted and customized to cover specialized musical concepts as might be required in the context of research projects in computational musicology. More importantly, GUIDO is designed in a way that when using such custom extensions, the resulting GUIDO data can still be processed by other applications that support GUIDO but are not aware of the custom extensions, which are gracefully ignored. This design also greatly facilitates the incremental implementation of GUIDO support in music software, which can speed up the software development process significantly, especially for research software and prototypes.
GUIDO has been split into three consecutive layers: BasicGUIDO introduces the main concepts of the GUIDO design and allows to represent much of the conventional music of today. Advanced GUIDO extends Basic GUIDO by adding exact score-formatting and some more advanced musical concepts. Finally, Extended GUIDO can represent user-defined extensions, like microtonal information or user defined pitch classes.
Basic GUIDO notation is similar to that of the LilyPond input format. Two obvious differences are the specification of octavesand durations, as shown in the example below. Both formats are to some extent inspired by the LaTeX format for typesetting text.