1 / 11

MusicXML

MusicXML. Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp. image from : http://recordare.com/xml.html. Purpose. Primary function of MusicXML is data interchange between programs:. Designed for encoding common-practice western music notation.

breck
Download Presentation

MusicXML

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. MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp

  2. image from: http://recordare.com/xml.html Purpose • Primary function of MusicXML is data interchange between programs: • Designed for encoding common-practice western music notation.

  3. Predecessor Data Formats • MIDI • NIFF not designed as a notation interchange format. • SmartScore http://www.musitek.com/midiedition.html • Originally the only way out of Finale’s proprietary format. http://www.music-notation.info/en/compmus/notationformats.html#NIFF • Available in Sibelius and Lime Notation Programs see: http://www.visiv.co.uk/niff.htm

  4. MusicXML Development • Integration of MuseData format with Finale Typesetting Program “We have tried to learn from the mistakes of past music notation interchange efforts by 1) basing the format on the two strongest academic formats available, MuseData and Humdrum, and 2) testing the format by writing usable software from the beginning of the development process.“ http://recordare.com/xml.html • June 2001 : Alpha version of MusicXML 0.3 available • March2002: First commercial release of MusicXML 0.6 (Import plugin comes with Finale 2003) • Jan 2004: MusicXML 1.0 released • Currently MusicXML 2.0 under development

  5. Primary implementation as a Plugin called Dolet for Finale: • Write your own plugins for Finale: http://store.recordare.com/doletfin2.html http://www.finalemusic.com/finale/plugin-devkit.asp Dolet plugin for Finale

  6. tag <tag> <subtag> <subsubtag> ... </subsubtag> </subtag> <subtag2> ... </subtag2> </tag> subtag subtag2 subsubtag XML Tree Structure Shorthands: <tag/> == <tag></tag> <tag key=“value”/> attributes: analogous to: <tag> <key>value</key> </tag> An Introduction to XML file structure: http://www.people.virginia.edu/~pdr4h/xmlresources/XMLstepbystep.pdf

  7. <score-partwise> <identification>...</identification> <part-list>...</part-list> <part id=“p1”> <measure number=“1”> <attributes>...</attributes> <note>...</note> <note>...</note> <note>...</note> <note>...</note> </measure> <measure number=“2”> <note>...</note> <note>...</note> </measure> </part> <part id=“P2”>...</part> </score-partwise> MusicXML Structure • partwise score most common • each part listed serially • part consists of measures • measures contain (1) <note>s (items with duration) and • (2) <attribute>s (items without duration such as clef, time signature, key signature, etc.) • (3) <direction>s (dynamics) • (4) <sound/> (tempo)

  8. Note Element <note> <pitch> <step>C</step> <octave>5</octave> </pitch> <duration>1</duration> <voice>1</voice> <type>16th</type> <stem>down</stem> <notations> <articulations> <staccato placement="above"/> </articulations> </notations> </note> logical duration graphical duration see: http://recordare.com/xml/musicxml-index.html

  9. Function parameters: duration type • Fixed • Optional • Key (e.g. C) stem voice staccato step octave (e.g. C++) (e.g. LISP) C5 1 1 s d . 1234567890123456789012345678901234567890 0 1 2 3 4 MuseData vs. MusicXML • MusicXML’s basic structure is a key-parameterized version of MuseData. MuseData note record <note> <pitch> <step>C</step> <octave>5</octave> </pitch> <duration>1</duration> <voice>1</voice> <type>16th</type> <stem>down</stem> <notations> <articulations> <staccato placement="above"/> </articulations> </notations> </note>

  10. voice 2 Causality • MusicXML is not a causal encoding format <backup> and <forward> commands are used to encode single parts with multiple staves or multiple voices. Examples of causal music formats: MIDI (partwise encoding) Humdrum (scorewise encoding)

  11. Music Encoding Initiative: http://www.lib.virginia.edu/digital/resndev/mei/ • MusiXML http://www.music-notation.info/en/musixml/MusiXML.html Other XML-Based Music Formats see: http://xml.coverpages.org/xmlMusic.html

More Related