Transforming XML Into Music Notation Baron Schwartz, Computer Science Perry Roland, Digital Library Worthy Martin, Computer Science
Overview Project Motivation MEI and Research Objectives XML and XSLT A Sample Transformation Results and Conclusions
Motivation There is no good, universal way to encode musical data in a computer file –There are dozens of good ones for specific purposes –There are many uses: analysis, printing, and bibliography to name a few –Commercially important: $711 million/yr industry There is a huge amount of material –UVA Library has 65,000+ scores and books –RISM project identified 1.5 million works – 50 years ago!
MEI and This Project MEI – the Music Encoding Initiative –An XML file format by Perry Roland –Designed to enable storing and retrieving musical information –Not an audio file format – “music” is an abstract concept My job: prove the MEI concept –Transform MEI-encoded music into notation
Transformation I used XSLT to transform the files Typesetting music is complicated, so I used Mup as an intermediate format MEI File XSLT Script XSLT Processor Notation Mup File
XML
XSLT … do something … … do something … … do something …
XSLT Processor
Sample File Fragments 1: 4c; 4e; 2g; bar Mup MEI
Results and Conclusions MEI can represent notation MEI is probably useful for other purposes Future work –More transformations –Native file format
Are there any other formats? MIDI –Commonly used, but very limited MusicXML –Commercially motivated –Explicitly designed for interchange –Some serious design mistakes
What about MIDI? MIDI encodes a single performance MIDI can’t tell a D-flat from a C-sharp MIDI can’t store complicated information, such as visual layout
What Are the Requirements? Comprehensive Declarative Explicit Interpreted Hierarchical Formal Flexible Extensible
What Uses Exist? Notation (most important) Interchange & Transmission Analysis Preservation Historical Works E-Texts for Digital Libraries Searching and Cataloguing/Bibliographies Automatic Performance
Other Work Changes to the MEI format –Representing information atomically Suggestions to preserve MEI’s flexibility –A rendering model –A definition for auxiliary languages –A stylesheet namespace model