Transcript document

XML Music Notation
Encoding Standards:
MusicXML and MEI
Constantine Zavras
Questions
What is musical notation encoding?
 Why is it needed?
 Why is an XML standard needed?

Musical Instrument Digital Interface (MIDI)

MIDI



MIDI is a format used for sending and receiving musical event information
Used to display music audibly in a digital format
At the basic level MIDI states:





When a note starts
When a note stops
How loud the note is
The pitch of the note
Limitations







MIDI encodes a single performance
It can’t display visual layouts, it requires a music application
It was not intended as an interchange format, but as a mechanism for sending and receiving
musical event information
MIDI cannot distinguish between the same note such as a C# or Db
This is because it has no concept of notes, every note is an event, and it is either off or on
Current notation programs have to guess at what MIDI is saying
XML can represent a specific note
Older Standards















SMDL - Standard Music Description Language
WEDELMUSIC XML Notation
Enhanced Musical Notation Markup Language (EMNML)
eXtensible Score Language (XScore)
OASIS Discussion List for Music Notation XML TC
Music and Lyrics Markup Language (4ML)
Music Markup Language (MML)
FlowML: A Format for Virtual Orchestras
MusiXML
IMS MUSIC-XML Project
ChordML, Actos, and ChordQL
XChords
Notation Interchange File Format (NIFF)
MusicML
Musical Notation Markup Language (MNML)
MusicXML


Created by Recodare
Goal





To create a file format for musical representation and interchange
between musical applications that would be Internet-viewable and nonbinary
Based off of MuseData and Humdrum
The DTD was developed at the same time as the software
MusicXML has become the commercial replacement for NIFF which
was the XML format that was implemented in musical program such
as Sibelius
Used to augment specialized proprietary formats
MusicXML (cont.)
MusicXML is available under a royalty-free
license modeled on W3C
 MusicXML 2.0 is currently in beta test

 This
version will expand MusicXML's focus
from being an interchange format to being a
distribution format for digital sheet music
MusicXML Support
Finale
 Sibelius
 Dolet
 SharpEye
 Notion
 TabEdit
 Guitar Pro

Music Encoding Initiative (MEI)


Developed and updated by Perry Roland, a researcher
at the University of Virginia’s Digital Library project.
Goals





Create a framework for the encoding of music data
Enable content-based searching, analysis, visual presentation,
etc.
MEI supports a large array of forms in which music
exists (logical, visual, performance, and analytical).
MEI can ignore information it does not need
Noncommercial
MEI (cont.)

MEI utilizes a number of existing
standards, both XML and not.
 The
metadata of the DTD - TEI and Dublin
Core.
 Pitch attribute names - Acoustical Society of
America (ASA)
 Performance data - MIDI
Basic MEI DTD




















<!ELEMENT mei (meihead, work)>
<!ELEMENT meicorpus (meihead, mei+)>
<!ELEMENT meihead (meiid, filedesc, projectdesc?, editorialdecl?, profiledesc?,
revisiondesc?, sourcedesc*)>
<!ELEMENT work (front?, (music|group), back?)>
<!ELEMENT group ((work|group), (work|group)*)>
<!ELEMENT music (mdiv+)>
<!ELEMENT mdiv (score?, parts?)>
<!ELEMENT score (div*, (section, ending*, div*)* | (measure?, (pb|sb)?)*)>
<!ELEMENT parts (part)+>
<!ELEMENT part (div*, (section, ending*, div*)* | (measure?, (pb|sb)?)*)>
<!ELEMENT section (div*, (section, ending*, div*)* | (measure?, (pb|sb)?)* | staff* | app*)>
<!ELEMENT app (rdg, rdg+)>
<!ELEMENT rdg (div*, (section, ending*, div*)* | (measure?,(pb|sb)?)* | staff* | app*)>
<!ELEMENT ending (div*, (section, ending*, div*)* | (measure?,(pb|sb)?)* | staff* |
app*)>
<!ELEMENT measure (((staff* | (beam | beatrpt | btrem | chord | ftrem | note | pad | rest
| space | tuplet)* | layer* | (msrest | msrpt | multirest | multirpt)?)), ossia*, (annot | arpeg
| beam2 | bend | dir | dynam | gliss | hairpin | harm | lyrics | midi | mordent | octave |
pedal | phrase | reh | slur | tempo | tie | trill | turn)*, (curve | line | symbol )*)>
MusicXML Limitations
MusicXML is adequate, not optimal, for
diverse music applications
 Problems exist when reading certain
rhythms composed in MusicXML by Finale
and Sibelius, especially with tuplets
 Very long files

MEI Limitations
Does not have the backing of a
commercial endeavor.
 Not as human readable as MusicXML

 MusicXML
- <octave>2</octave>
 MEI - <oct =”2”>
Elements vs. Attributes

MusicXML





Elements – Logical Domains
Attributes – Visual and Performance Domains
“Terseness is of minimal importance”
Constantly being updated, elements make the update process
easier
MEI




Attributes – Logical Domains
Elements – Performance Domains
Smaller Files
Attributes can be constrained by type and value, as well as
defaulted values, very useful in music
Schema vs. DTD
Both MusicXML and MEI use DTD’s
 MEI has a few competing schema
proposals that are not operable

Hello World in MusicXML and MEI


MusicXML Hello
World
MEI Hello World
MusicXML Example
<measure number="1">
<attributes>
<divisions>24</divisions>
<key>
<fifths>-3</fifths>
<mode>major</mode>
</key>
<time>
<beats>3</beats>
<beat-type>4</beat-type>
</time>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
MusicXML Example (cont.)
<note>
<pitch>
<step>B</step>
<alter>-1</alter>
<octave>4</octave>
</pitch>
<duration>24</duration>
<voice>1</voice>
<type>quarter</type>
<stem>down</stem>
<lyric number="1">
<syllabic>single</syllabic>
<text>Auf</text>
</lyric>
</note>
</measure>
MEI Example

<bar n="1">
<staff id="s1">
<voice id="s1v1">
<note pname="b" acci="f" oct="4" dur="4" />
</voice>
</staff>
</bar>
Examples I Created
Trumpet Score-Part
 MusicXML
 MEI – Couldn’t get the transformation to
work

The Future

MEI XSL Transformation from MusicXML
 MEI
Transformation Sheet 1
 MEI Transformation Sheet 2
The Future

Common Western Musical Notation (CWMN)

Music from any time period before the 17th century is impossible to encode with
the standards that exist now. Both MEI and MusicXML have stated that they stay
within the bounds of CWMN in order to not overextend their limits.
 May be possible to do this in the future, or develop new standards based on
existing ones to incorporate other forms of notation into XML.

Potential for expansion



Music analysis tools, which MEI has some operability in
Ability to sequence music with no external software beyond a text editor.
Music players written in Flash and Java



Can read MusicXML or MEI and play the result online
Convert to MIDI
Create playlists
 Encode in MPEG
Resources
http://xml.coverpages.org/xmlMusic.html
 http://www.musicxml.org/
 http://www.lib.virginia.edu/digital/resndev/
mei/
