Your SlideShare is downloading. ×
An Introduction to MusicXML
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

An Introduction to MusicXML


Published on

A very brief intro to the basics of MusicXML

A very brief intro to the basics of MusicXML

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Dr David Parsons David Parsons - May 31st 2013
  • 2.  MusicXML files are the standard format for sharing interactive sheet music  More than 160 applications include MusicXML support ◦ Including Cubase, Sibelius and Myriad David Parsons - May 31st 2013
  • 3.  “I feel that MIDI is an outdated standard for music education. I believe that MusicXML is the proper standard for music education …import/export with notation accuracy is a world of hurt with MIDI and much improved with MusicXML”  Christopher J. Russell, Ph.D. - Technology in Music Education Blog, May 2012 David Parsons - May 31st 2013
  • 4.  XML ◦ eXtensible Markup Langauge  XML is ◦ Semi-structured ◦ Self describing ◦ Fundamental to the web, web services, RSS feeds etc. ◦ Provides a common way for any two applications to communicate with one another  XML is a meta language – you can create your own languages from it David Parsons - May 31st 2013
  • 5.  Elements and attributes  What do you notice about this data structure? <element1> <element2 attribute1=“value”> some data </element2> <element3> some more data </element3> </element1> David Parsons - May 31st 2013
  • 6.  Why can‟t I just use MIDI? ◦ Musical scores need to know about keys ◦ MIDI doesn‟t know if your note is an A# or a B♭ ◦ MIDI doesn‟t know about much beyond the notes themselves  You can create a MIDI file from MusicXML, or a notation file David Parsons - May 31st 2013
  • 7.  What do you need to specify if you want to represent a note like this middle C semibreve? David Parsons - May 31st 2013
  • 8.  MusicXML includes „note‟ elements  Nested elements inside this specify the pitch and the length of the note <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> </note> David Parsons - May 31st 2013
  • 9. the key the clef  The key is defined using the circle of fifths ◦ Zero+major is C Major  The clef has a sign, and the stave line it appears on <key> <fifths>0</fifths> <mode>major</mode> </key> <clef> <sign>G</sign> <line>2</line> </clef> David Parsons - May 31st 2013
  • 10.  4/4 time?  Easy enough David Parsons - May 31st 2013 <time> <beats>4</beats> <beat-type>4</beat-type> </time>
  • 11.  These are typically used for metadata ◦ Not the actual music data, but things that tell us about it  Here‟s an example: ◦ Each musical part is given a unique id  so we can refer to it from other elements ◦ Each measure needs a number  we are in the first measure of the first part David Parsons - May 31st 2013 <part id="P1"> <measure number="1">
  • 12.  Including stuff we haven‟t talked about  Just for one note, right?  Sure, but you don‟t do this stuff by hand  Software reads and/or writes MusicXML <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.0 Partwise//EN" ""> <score-partwise version="3.0"> <part-list> <score-part id="P1"> <part-name>Music</part-name> </score-part> </part-list> <part id="P1"> <measure number="1"> <attributes> <divisions>1</divisions> <key> <fifths>0</fifths> </key> <time> <beats>4</beats> <beat-type>4</beat-type> </time> <clef> <sign>G</sign> <line>2</line> </clef> </attributes> <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> </note> </measure> </part> </score-partwise> David Parsons - May 31st 2013
  • 13.  Here‟s our file in Myriad Melody Player  We can see it, and hear it David Parsons - May 31st 2013
  • 14.  Understand how different applications communicate musical data  Use MusicXML to transfer data between them  Write software that can generate MusicXML ◦ so you music can be scored ◦ e.g. write a mobile composition app that streams MusicXML to the cloud)  Write software that can read MusicXML ◦ so you can present it how you like ◦ e.g. create sound driven animations in HTML 5 David Parsons - May 31st 2013
  • 15.  You could utilise any or all of the following…  Technologies for processing XML ◦ XPath / XSLT / XQuery ◦ SAX (serial access) parsers ◦ DOM (document object model) parsers  XML data Streams ◦ File streaming ◦ Web services  Tools that understand MusicXML ◦ e.g. Java Music Specification Language David Parsons - May 31st 2013