Digital Initiatives Home About the Digital Initiatives Services Research and Development Metadata Reports Ask Questions Virgo Catalog
University of Virginia
University of Virginia Library
Digital Initiatives: Research and Development
MEI home

Excerpt from XSLT 2.0 Programmer's Reference, Third Edition:

   A Scenario: Transforming Music

   As an indication of how far XML has now penetrated, Robin Cover's index of XML-
   based application standards at http://xml.coverpages.org/xmlApplications.html
   today runs to over 580 entries. (The last one is entitled Mind Reading Markup
   Language, but as far as I can tell, all the other entries are serious.)

   I'll follow just one of these 580 lines, XML and Music, which takes us to
   http://xml.coverpages.org/xmlMusic.html. On this page we find a list of no less
   than 17 standards, proposals, or initiatives that use XML for marking up music.

   Some of this diversity is unnecessary, and many of these initiatives will bear
   little fruit. Even the names of the standards are chaotic: there is a Music
   Markup Language, a MusicML, a MusicXML, and a MusiXML, all of which appear to be
   quite unrelated. There are at least two really serious contenders: the Music
   Encoding Initiative (MEI) and the Standard Music Description Language (SMDL).
   The MEI derives its inspiration from the Text Encoding Initiative, which is
   widely used by the library community for creating digital text archives, while
   SMDL is related to the HyTime hypermedia standards and takes into account
   requirements such as the need to synchronize music with video or with a lighting
   script.

   The diversity of standards is inevitable before the industry can come up with a
   standard that works for everyone. Without variety, there can be no innovation
   or experimentation. In fact, the likely outcome is not a single standard, but a
   collection of three or four different standards that are optimized for different
   needs. The different notations were invented with different purposes in mind: a
   markup language used by a publisher for printing sheet music has different
   requirements from the one designed to let you listen to the music from a
   browser.

   For most of us, music may be fun, a diversion from the world of work. But for
   others, it is a very serious billion-dollar business. Standards that make
   information interchange in this business easier have an enormous economic
   impact. Whether you're interested in the music or the money, we're not dealing
   here with something that's trivial. So it shouldn't be surprising that so much
   effort is going into the process of creating standards in this area.

   In earlier editions of this book I introduced the idea of using XSLT to
   transform music as a theoretical possibility, something to make my readers think
   about the range of possibilities open for the language. Today, it is no longer a
   theoretical possibility -- people are actually doing it.

   With 17 different schemas for music in existence, all with different strengths
   and weaknesses (and fan clubs), there is a big need to convert information from
   one of these formats to any of the others. There is also a need to convert
   information from any of these formats to a printable score or an audible
   performance of the music, as well as a need to create XML representations of
   music from non-XML sources such as MIDI files. XSLT has a role to play in all
   of these conversions.

   So you could use XSLT to:
      * Convert music from one of these representations to another, for example, from
      MEI to SMDL.
      * Convert music from any of these representations into visual music notation, by
      generating the XML-based vector graphics format SVG.
      * Play the music on a synthesizer, by generating a MIDI (Musical Instrument
      Digital Interface) file.
      * Perform a musical transformation, such as transposing the music into a
      different key or extracting parts for different instruments or voices.
      * Extract the lyrics, into HTML or into a text-only XML document.
      * Capture music from non-XML formats and translate it into XML (XSLT 2.0 is
      especially useful here).

   As you can see, XSLT is not just for converting XML documents to HTML.

   For some real examples of XSLT stylesheets used to transform music, take a look
   at a thesis written by Baron Schwartz at the University of Virginia
   (http://www.cs.virginia.edu/~bps7j/thesis/).

Digital Initiatives
University of Virginia
PO Box 400112
Charlottesville, VA 22904-4112

Digital Initiatives Home • UVa Library Home
Search the Library Site • UVa Home
Maintained by: dl@virginia.edu
Last Modified: Monday, June 02, 2008
© The Rector and Visitors of the University of Virginia