[This local archive copy is from the official and canonical URL, http://www.cir.nus.edu.sg/music/mnmlv200.html; please refer to the canonical source document if possible.]


Syntax Specification for the
Musical Notation Markup Language
to be used for Internet Music Transfer and Archiving


Peter Chiam Yih Wei, Kartik Narayan,
Leong Kok Yong and Dr. Tan Tin Wee
Internet Research and Development Unit,
Computer Centre,
National University of Singapore



Objective

MNML is developed to be a syntax which will, in the most concise way possible, attempt to represent the entire musical and lyrical content of a music score. A score thus coded can be transmitted over a network and reconstructed in its entirety at the client's end. Other applications could include archiving of musical pieces, which could be searched for particular melodies and time signatures. It must be noted that MNML, at this stage, will only preserve the basic melody and lyrics of the piece, and will not attempt to fully describe the music, with all its nuances. The syntax is not designed to include all the embellishments found in the original score. Some embellishments critical to the music will be supported.


Description

Every entity seen in a musical score, with the exception of the horizontal lines representing staves are termed as 'Musical Objects' in MNML. These would include:
  1. Clefs
  2. Notes
  3. Rests
  4. Bar-Lines
  5. Text
  6. Key Signatures
  7. Time Signatures
These 'Musical Objects' have certain properties depending on the nature of the object. Following are the Objects and their properties.
  1. Clefs
  2. Notes
  3. Rests
  4. Bar-Lines
  5. Text
  6. Key Signatures
  7. Time Signatures


Structure

Every Musical Object appearing in a score is defined in the MNML format within a pair of angled brackets '<' and '>'. The properties of the Musical Object are defined within the brackets as fields separated by colons ':'.

The structure and usage of MNML is best explained by the use of examples. Following are certain examples defining the important characteristics of MNML.

Examples:

  1. A Clef has two tags associated with it. One to define the clef and one to draw it.
  2. Notes
  3. Rests
  4. Bar-Lines
  5. Text
  6. Key Signatures
  7. Time Signatures