musicxml music 253 / cs 275a stanford university winter 2005 craig stuart sapp
TRANSCRIPT
![Page 1: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/1.jpg)
MusicXML
Music 253 / CS 275AStanford UniversityWinter 2005
Craig Stuart Sapp
![Page 2: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/2.jpg)
Purpose
image from: http://recordare.com/xml.html
• Primary function of MusicXML is data interchange between programs:
• Designed for encoding common-practice western music notation.
![Page 3: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/3.jpg)
Predecessor Data Formats
• MIDI
• NIFF http://www.music-notation.info/en/compmus/notationformats.html#NIFF
http://www.musitek.com/midiedition.html• SmartScore
• Available in Sibelius and Lime Notation Programs
• Originally the only way out of Finale’s proprietary format.
not designed as a notation interchange format.
see: http://www.visiv.co.uk/niff.htm
![Page 4: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/4.jpg)
MusicXML Development• Integration of MuseData format with Finale Typesetting Program
• June 2001 : Alpha version of MusicXML 0.3 available
• March 2002: 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
“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
![Page 5: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/5.jpg)
Dolet plugin for Finale• Primary implementation as a Plugin called Dolet for Finale:
http://store.recordare.com/doletfin2.html
http://www.finalemusic.com/finale/plugin-devkit.asp• Write your own plugins for Finale:
![Page 6: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/6.jpg)
XML Tree Structure
<tag> <subtag> <subsubtag> ... </subsubtag> </subtag> <subtag2> ... </subtag2></tag>
Shorthands: <tag/> == <tag></tag>
<tag key=“value”/>
<tag> <key>value</key></tag>
analogous to:
tag
subtag subtag2
subsubtag
http://www.people.virginia.edu/~pdr4h/xmlresources/XMLstepbystep.pdfAn Introduction to XML file structure:
attributes:
![Page 7: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/7.jpg)
MusicXML Structure
<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>
• 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)
![Page 8: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/8.jpg)
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>
see: http://recordare.com/xml/musicxml-index.html
logical duration
graphical duration
![Page 9: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/9.jpg)
MuseData vs. MusicXML• MusicXML’s basic structure is a key-parameterized version of MuseData. MuseData note record
C5 1 1 s d .12345678901234567890123456789012345678900 1 2 3 4
durationvoice
typestep octave
stemstaccato
<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>
Function parameters:
• Fixed• Optional• Key
(e.g. C)(e.g. C++)(e.g. LISP)
![Page 10: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/10.jpg)
Causality• MusicXML is not a causal encoding format
<backup> and <forward> commands are usedto encode single parts with multiple staves or multiple voices.
voice 2
Examples of causal music formats: MIDI (partwise encoding) Humdrum (scorewise encoding)
![Page 11: MusicXML Music 253 / CS 275A Stanford University Winter 2005 Craig Stuart Sapp](https://reader036.vdocument.in/reader036/viewer/2022082422/56649de55503460f94adc8ec/html5/thumbnails/11.jpg)
Other XML-Based Music Formats
http://www.music-notation.info/en/musixml/MusiXML.html
• MusiXML
http://www.lib.virginia.edu/digital/resndev/mei/
• Music Encoding Initiative:
see: http://xml.coverpages.org/xmlMusic.html