1 / 22

XML Music Notation Encoding Standards: MusicXML and MEI

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

lundy
Download Presentation

XML Music Notation Encoding Standards: MusicXML and MEI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Music Notation Encoding Standards:MusicXML and MEI Constantine Zavras

  2. Questions • What is musical notation encoding? • Why is it needed? • Why is an XML standard needed?

  3. 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

  4. 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)

  5. MusicXML • Created by Recodare • Goal • To create a file format for musical representation and interchange between musical applications that would be Internet-viewable and non-binary • 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

  6. 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

  7. MusicXML Support • Finale • Sibelius • Dolet • SharpEye • Notion • TabEdit • Guitar Pro

  8. 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

  9. 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

  10. 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 )*)>

  11. 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

  12. MEI Limitations • Does not have the backing of a commercial endeavor. • Not as human readable as MusicXML • MusicXML - <octave>2</octave> • MEI - <oct =”2”>

  13. 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

  14. Schema vs. DTD • Both MusicXML and MEI use DTD’s • MEI has a few competing schema proposals that are not operable

  15. Hello World in MusicXML and MEI • MusicXML Hello World • MEI Hello World

  16. 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>

  17. 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>

  18. MEI Example • <bar n="1"> <staff id="s1"> <voice id="s1v1"> <note pname="b" acci="f" oct="4" dur="4" /> </voice> </staff> </bar>

  19. Examples I Created • Trumpet Score-Part • MusicXML • MEI – Couldn’t get the transformation to work

  20. The Future • MEI XSL Transformation from MusicXML • MEI Transformation Sheet 1 • MEI Transformation Sheet 2

  21. 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

  22. Resources • http://xml.coverpages.org/xmlMusic.html • http://www.musicxml.org/ • http://www.lib.virginia.edu/digital/resndev/mei/

More Related