Music and XML again

18
Transforming XML Into Music Notation Baron Schwartz, Computer Science Perry Roland, Digital Library Worthy Martin, Computer Science

description

 

Transcript of Music and XML again

Page 1: Music and XML again

Transforming XML Into Music Notation

Baron Schwartz, Computer SciencePerry Roland, Digital Library

Worthy Martin, Computer Science

Page 2: Music and XML again

Overview

• Project Motivation• MEI and Research Objectives• XML and XSLT• A Sample Transformation• Results and Conclusions

Page 3: Music and XML again

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!

Page 4: Music and XML again

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

Page 5: Music and XML again

Transformation• I used XSLT to transform the files• Typesetting music is complicated,

so I used Mup as an intermediate format

MEIFile

XSLTScript

XSLTProcessor

NotationMupMupFile

Page 6: Music and XML again

XML

<staff>

</staff>

<chord>

</chord>

<note></note>

<note></note>

<note></note>

<staff>

<chord>

<note> <note><note>

Page 7: Music and XML again

XSLT<xsl:stylesheet>

<xsl:template match=“chord”>… do something …

</xsl:template>

<xsl:template match=“staff”>… do something …

</xsl:template>

<xsl:template match=“note”>… do something …

</xsl:template>

</xsl:template>

Page 8: Music and XML again

<staff>

<chord>

<note> <note><note>

<xsl:stylesheet>

<xsl:template> <xsl:template>

XSLT

XSLTProcessor

Page 9: Music and XML again

Sample File Fragments

1: 4c; 4e; 2g;bar

Mup

<bar n="2"> <staff def="_s1"> <note dur="4" pname="c" /> <note dur="4" pname="e" /> <note dur="2" pname="g" /> </staff></bar>

MEI

Page 10: Music and XML again
Page 11: Music and XML again
Page 12: Music and XML again
Page 13: Music and XML again

Results and Conclusions

• MEI can represent notation• MEI is probably useful for other

purposes• Future work

– More transformations– Native file format

Page 14: Music and XML again

Are there any other formats?

• MIDI– Commonly used, but very limited

• MusicXML– Commercially motivated– Explicitly designed for interchange– Some serious design mistakes

Page 15: Music and XML again

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

Page 16: Music and XML again

What Are the Requirements?

• Comprehensive• Declarative• Explicit• Interpreted• Hierarchical• Formal • Flexible• Extensible

Page 17: Music and XML again

What Uses Exist?

• Notation (most important)• Interchange & Transmission• Analysis• Preservation• Historical Works• E-Texts for Digital Libraries• Searching and Cataloguing/Bibliographies• Automatic Performance

Page 18: Music and XML again

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