MusicXML

From HandWiki
Short description: File format
MusicXML
Filename extension.musicxml, .mxl
Internet media typeapplication/vnd.recordare.musicxml+xml,[1] application/vnd.recordare.musicxml[2]
Developed byW3C Music Notation Community Group
Latest release
4.0
(June 2021[3])
Type of formatMusical notation
Extended fromXML
Website{{{1}}}

MusicXML is an XML-based file format for representing Western musical notation. The format is open, fully documented, and can be freely used under the W3C Community Final Specification Agreement.[4][5]

History

MusicXML was invented by Michael Good and initially developed by Recordare LLC. It derived several key concepts from existing academic formats (such as Walter Hewlett's ASCII-based MuseData[6] and David Huron's Humdrum).[7] It is designed for the interchange of scores, particularly between different scorewriters. MusicXML development was managed by MakeMusic following the company's acquisition of Recordare in 2011.[8][9] MusicXML development was transferred to the W3C Music Notation Community Group in July 2015.[10]

Version 1.0 was released in January 2004. Version 1.1 was released in May 2005 with improved formatting support. Version 2.0 was released in June 2007 and included a standard compressed format.[11] All of these versions were defined by a series of document type definitions (DTDs). An XML Schema Definition (XSD) implementation of Version 2.0 was released in September 2008. Version 3.0 was released in August 2011 with improved virtual instrument support, in both DTD and XSD versions.[12][13] Version 3.1 was released in December 2017 with improved support for the Standard Music Font Layout (SMuFL).[14] Version 4.0 was released in June 2021 and resolved multiple issues.[15]

The MusicXML DTDs and XSDs are each freely redistributable under the W3C Community Final Specification Agreement.[5]

Support

(As of October 2021), MusicXML is supported to varying degrees by over 260 notation programs.[16][17] These programs include:

Additionally, web support is possible through the use of the HTML5 canvas element and JavaScript resulting in the rendering of legible music within a web browser.[18]

Features include key and time signatures, clefs, beaming information, stem directions, slurs, ornaments, barlines, and written repeats.[19]

Example

Like all XML-based formats, MusicXML is intended to be easy for automated tools to parse and manipulate. Though it is possible to create MusicXML by hand, interactive score writing programs like Finale and MuseScore greatly simplify the reading, writing, and modifying of MusicXML files.

The following example is a score consisting of a single whole note middle C in the key of C major on the treble clef.[20]

Representation of middle C on the treble clef created through MusicXML code.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC
    "-//Recordare//DTD MusicXML 4.0 Partwise//EN"
    "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="4.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>

The textual representation listed above is verbose; MusicXML v2.0 addresses this by adding a compressed zip format with a .mxl suffix that can make files roughly one-twentieth the size of the uncompressed version.[21]

See also

References

  1. "Type name: application : Subtype name: vnd.recordare.musicxml+xml". Iana.org. https://www.iana.org/assignments/media-types/application/vnd.recordare.musicxml+xml. Retrieved 24 November 2014. 
  2. "Type name: application : Subtype name: vnd.recordare.musicxml". Iana.org. https://www.iana.org/assignments/media-types/application/vnd.recordare.musicxml. Retrieved 24 November 2014. 
  3. "Working group releases MusicXML update". https://w3c.github.io/musicxml/. Retrieved 7 June 2021. 
  4. "Sustainability of Digital Formats Planning for Library of Congress Collections — MusicXML, Version 3.1". Library of Congress. 9 May 2019. https://www.loc.gov/preservation/digital/formats/fdd/fdd000499.shtml. Retrieved 15 October 2020. 
  5. 5.0 5.1 "W3C Community Final Specification Agreement". W3C. https://www.w3.org/community/about/agreements/final/. Retrieved 19 December 2017. 
  6. Hewlett, Walter B. (1997). "Chapter 27: MuseData: Multipurpose Representation". in Selfridge-Field, Eleanor. Beyond MIDI: The Handbook of Musical Codes. MIT Press. pp. 402–447. ISBN 0-262-19394-9. 
  7. Good, Michael. "MusicXML: An Internet-Friendly Format for Sheet Music". CiteSeerX 10.1.1.118.5431.
  8. "Recordare Closing Release". Makemusic.com. https://www.makemusic.com/wp-content/uploads/2012/12/2011_11_28_Recordare_Closing_Release_Final.pdf. Retrieved 13 December 2014. 
  9. Phelps, David. "MakeMusic acquires assets of Internet music company". StarTribune. https://www.startribune.com/makemusic-acquires-assets-of-internet-music-company/134613183/. Retrieved 15 October 2020. 
  10. "Beyond iTunes: XML boffins target sheet music". The Register. https://www.theregister.co.uk/2015/12/30/music_as_mark_up/. Retrieved 19 December 2017. 
  11. "Compressed MXL Files". MusicXML. https://www.musicxml.com/tutorial/compressed-mxl-files/. Retrieved 27 June 2014. 
  12. "Version History of MusicXML". Musicxml.com. https://www.musicxml.com/for-developers/version-history/. Retrieved 27 June 2014. 
  13. "News: Recordare Adds Finale 2010 Support to Dolet 5 for Finale Plug-In". https://www.harmonycentral.com/news/uncategorized/recordare-adds-finale-2010-support-to-dolet-5-for-finale-plug-in-r9522/. 
  14. "Working group releases its first MusicXML update". ScoringNotes.com. NYC Music Services. 18 December 2017. https://www.scoringnotes.com/news/working-group-releases-first-musicxml-update/. Retrieved 19 December 2017. 
  15. "MusicXML 4.0" (in en-US). https://www.musicxml.com/for-developers/. 
  16. "Software". MusicXML. https://www.musicxml.com/software/. Retrieved 27 October 2021. 
  17. "File format". MuseScore. http://musescore.org/en/handbook/file-format. Retrieved 27 June 2014. 
  18. "HTML5 MusicXML Viewer". Musicxml-viewer.com. 15 May 2012. Archived from the original on 3 April 2016. https://web.archive.org/web/20160403014301/http://www.musicxml-viewer.com/download.html. Retrieved 27 June 2014.  Source code available in Google Code, Github and Bitbucket.
  19. Kirlin, Phillip B.; Utgoff, Paul E. (2008). "A Framework for Automated Schenkerian Analysis". in Bello, Juan Pablo; Chew, Elaine; Turnbull, Douglas. ISMIR 2008: Proceedings of the 9th International Conference on Music Information Retrieval. Drexel University, Philadelphia, Pennsylvania. pp. 363–368 at 365. ISBN 978-0-615-24849-3. https://books.google.com/books?id=OHp3sRnZD-oC&pg=PA365. 
  20. "Hello World: A One-Bar Song with a Whole Note on Middle C in 4/4 time". Musicxml.com. https://www.musicxml.com/tutorial/hello-world/. Retrieved 19 December 2017. 
  21. "MusicXML FAQ". MusicXML. https://www.musicxml.com/tutorial/faq. Retrieved 13 December 2014. 

External links