Jump to content

MusicXML: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Mdgood (talk | contribs)
Update footnote link and application count date
m See also: added Musescore- one of the most popular music notation sotfware, and it is free/opensource; I do not own/work for/ or contribute to this product
 
(185 intermediate revisions by 76 users not shown)
Line 1: Line 1:
{{short description|File format}}
'''MusicXML''' is an open, [[XML]]-based [[music notation]] file format.
{{Infobox file format
| logo =
| icon =
| iconcaption =
| screenshot =
| caption =
| extension = .musicxml, .mxl
| mime = application/vnd.recordare.musicxml+xml,<ref>{{cite web |url = https://www.iana.org/assignments/media-types/application/vnd.recordare.musicxml+xml |title = Type name: application : Subtype name: vnd.recordare.musicxml+xml |publisher = Iana.org |accessdate = 24 November 2014 }}
</ref> application/vnd.recordare.musicxml<ref>{{cite web |url = https://www.iana.org/assignments/media-types/application/vnd.recordare.musicxml |title = Type name: application : Subtype name: vnd.recordare.musicxml |publisher = Iana.org |accessdate = 24 November 2014 }}</ref>
| type code =
| uniform type =
| conforms to =
| magic =
| owner = W3C Music Notation Community Group
| released = <!-- {{Start date and age|YYYY|mm|dd|df=yes/no}} -->
| latest release version = 4.0
| latest release date = June 2021<ref name="musicxml40">{{cite web |url =https://w3c.github.io/musicxml/ |title = Working group releases MusicXML update |accessdate = 7 June 2021 }}</ref> <!-- {{Start date and age|YYYY|mm|dd|df=yes/no}} -->
| genre = [[Musical notation]]
| extended from = [[XML]]
| standard =
| open = Yes
| url = {{Official URL}}
}}
'''MusicXML''' is an [[XML]]-based [[file format]] for representing Western [[musical notation]]. The format is [https://github.com/w3c/musicxml open], fully documented, and can be freely used under the [[W3C]] Community Final Specification Agreement.<ref>{{cite web |title = Sustainability of Digital Formats Planning for Library of Congress Collections &mdash; MusicXML, Version 3.1 |publisher = Library of Congress |date = 9 May 2019 |url = https://www.loc.gov/preservation/digital/formats/fdd/fdd000499.shtml |accessdate = 15 October 2020 }}</ref><ref name="fsa">{{cite web |title= W3C Community Final Specification Agreement |publisher = W3C |url = https://www.w3.org/community/about/agreements/final/ |accessdate = 19 December 2017 }}</ref>


==History==
It was developed by Recordare LLC, deriving several key concepts from existing academic formats (such as Walter Hewlett's [[MuseData]] and David Huron's Humdrum). It is designed for the interchange of [[musical score|score]]s, particularly between different [[scorewriter]]s.
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<ref>{{cite book |last=Hewlett |first=Walter B. |editor-last=Selfridge-Field |editor-first=Eleanor|title=Beyond MIDI: The Handbook of Musical Codes |publisher=MIT Press |date=1997 |pages=402–447 |chapter=Chapter 27: MuseData: Multipurpose Representation |isbn=0-262-19394-9}}</ref> and David Huron's Humdrum).<ref name="Good">{{cite CiteSeerX |last=Good |first=Michael |title=MusicXML: An Internet-Friendly Format for Sheet Music |citeseerx=10.1.1.118.5431 }}</ref> It is designed for the interchange of [[Sheet music|score]]s, particularly between different [[scorewriter]]s. MusicXML development was managed by MakeMusic following the company's acquisition of Recordare in 2011.<ref>{{cite web |url = https://www.makemusic.com/wp-content/uploads/2012/12/2011_11_28_Recordare_Closing_Release_Final.pdf |title = Recordare Closing Release |publisher = Makemusic.com |accessdate = 13 December 2014 }}</ref><ref>{{cite web |url = https://www.startribune.com/makemusic-acquires-assets-of-internet-music-company/134613183/ |last=Phelps |first=David |title = MakeMusic acquires assets of Internet music company |date=28 November 2011 |publisher = StarTribune |accessdate = 15 October 2020 }}</ref> MusicXML development was transferred to the [[World Wide Web Consortium|W3C]] Music Notation Community Group in July 2015.<ref>{{cite web |url = https://www.theregister.co.uk/2015/12/30/music_as_mark_up/ |title = Beyond iTunes: XML boffins target sheet music |work = The Register |accessdate = 19 December 2017 }}</ref>


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. All of these versions were defined by a series of [[document type definition]]s (DTDs). An [[XML Schema (W3C)|XML Schema Definition]] (XSD) implementation of Version 2.0 was released in September 2008.
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.<ref>{{cite web |url = https://www.musicxml.com/tutorial/compressed-mxl-files/ |title = Compressed MXL Files |publisher = MusicXML |date = |accessdate = 27 June 2014 }}</ref> All of these versions were defined by a series of [[document type definition]]s (DTDs). An [[XML Schema (W3C)|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.<ref>{{cite web |url = https://www.musicxml.com/for-developers/version-history/ |title = Version History of MusicXML |publisher = Musicxml.com |date = |accessdate = 27 June 2014 }}</ref><ref>{{cite web|url=https://www.harmonycentral.com/news/uncategorized/recordare-adds-finale-2010-support-to-dolet-5-for-finale-plug-in-r9522/|title=News: Recordare Adds Finale 2010 Support to Dolet 5 for Finale Plug-In|date=23 September 2009 |publisher=}}</ref> Version 3.1 was released in December 2017 with improved support for the Standard Music Font Layout ([[SMuFL]]).<ref name="musicxml31">{{cite web |url = https://www.scoringnotes.com/news/working-group-releases-first-musicxml-update/ |title = Working group releases its first MusicXML update |work = ScoringNotes.com |date = 18 December 2017 |publisher = NYC Music Services |accessdate = 19 December 2017 }}</ref> Version 4.0 was released in June 2021 and resolved multiple issues.<ref>{{Cite web|title=MusicXML 4.0|url=https://www.musicxml.com/for-developers/|access-date=2022-01-03|website=MusicXML|language=en-US}}</ref>


The MusicXML DTDs and XSDs are each freely redistributable under the W3C Community Final Specification Agreement.<ref name="fsa" />
As of May 2011, MusicXML is supported to varying degrees by over 140 notation programs. These programs include:


==Support==
* Most [[scorewriter|scorewriting programs]], including [[Finale (software)|Finale]] and [[Sibelius (software)|Sibelius]]. Exporting a MusicXML file from Sibelius requires an additional [[plug-in (computing)|plug-in]] developed by Recordare.
{{As of|2024|September}}, over 270 notation programs have at least some MusicXML interchange capability.<ref>{{cite web |url = https://www.musicxml.com/software/ |title = Software |publisher = MusicXML |accessdate = 27 October 2021 }}</ref><ref>{{cite web |url = http://musescore.org/en/handbook/file-format |title = File format |publisher = MuseScore |date = |accessdate = 27 June 2014 }}</ref> These programs include:
* Most [[Music OCR]] programs, including [[SmartScore]] and PhotoScore.
* Some [[music sequencer]] programs, including [[Steinberg Cubase|Cubase]] and [[MAGIX Samplitude|Samplitude]].
* Most [[Comparison of scorewriters|scorewriting programs]], including [[Finale (scorewriter)|Finale]], [[Dorico]], [[Sibelius (scorewriter)|Sibelius]], and [[MuseScore]]
* [[Free and open source software|Free software]] such as [[MuseScore]] and [[Rosegarden]].
* Most [[optical music recognition]] programs, including [[SmartScore]], [[PhotoScore]] and [[Audiveris]]
* Most [[music sequencer]] programs, including [[Steinberg Cubase|Cubase]], [[Logic Pro]], [[Digital Performer]], and [[Cakewalk Sonar|SONAR]]
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]].<ref>{{cite web |author = |url = http://musicxml-viewer.com |title = HTML5 MusicXML Viewer |publisher = Musicxml-viewer.com |date = 15 May 2012 |accessdate = 27 June 2014 |archiveurl = https://web.archive.org/web/20160403014301/http://www.musicxml-viewer.com/download.html |archivedate = 3 April 2016 }} Source code available in [https://code.google.com/archive/p/score-library/source/default/commits Google Code], [https://github.com/navigator117/score-library Github] and [https://bitbucket.org/navigator117/score-library Bitbucket].</ref>


Features include [[Key signature|key]] and [[time signature]]s, [[clef]]s, beaming information, [[Stem (music)|stem]] directions, [[Slur (music)|slurs]], [[Ornament (music)|ornaments]], [[Bar (music)|barlines]], and written repeats.<ref>{{cite conference |first1=Phillip B. |last1=Kirlin |first2=Paul E. |last2=Utgoff |editor1-first=Juan Pablo |editor1-last=Bello |editor2-link=Elaine Chew |editor2-first=Elaine |editor2-last=Chew |editor3-first=Douglas |editor3-last=Turnbull |date=2008 |title=A Framework for Automated Schenkerian Analysis |conference=ISMIR 2008: Proceedings of the 9th International Conference on Music Information Retrieval |location=Drexel University, Philadelphia, Pennsylvania |url=https://books.google.com/books?id=OHp3sRnZD-oC&pg=PA365 |at=pp. 363–368 at 365 |isbn=978-0-615-24849-3}}</ref>
The MusicXML DTDs and XSDs are each freely redistributable under the MusicXML Document Type Definition Public License.


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


[[File:MusicXML C Whole Note.svg|thumb|Representation of middle C on the treble clef created through MusicXML code.]]
The following example is a score consisting of a single [[whole note]] [[middle C]] in the key of [[C major]].
The following example is a score consisting of a single [[whole note]] [[C (musical note)#Middle C|middle C]] in the key of [[C major]] on the [[Clef#Treble clef|treble clef]].<ref>{{cite web |url = https://www.musicxml.com/tutorial/hello-world/ |title = Hello World: A One-Bar Song with a Whole Note on Middle C in 4/4 time |publisher = Musicxml.com |date = |accessdate = 19 December 2017 }}</ref>


<source lang="xml">
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC
<!DOCTYPE score-partwise PUBLIC
"-//Recordare//DTD MusicXML 2.0 Partwise//EN"
"-//Recordare//DTD MusicXML 4.0 Partwise//EN"
"http://www.musicxml.org/dtds/partwise.dtd">
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<score-partwise version="4.0">
<part-list>
<part-list>
<score-part id="P1">
<score-part id="P1">
Line 57: Line 85:
</part>
</part>
</score-partwise>
</score-partwise>
</syntaxhighlight>
</source>


The textual representation listed above is verbose; MusicXML v2.0 addresses this by adding a [[data compression|compressed]] [[ZIP (file format)|zip]] format with a {{mono|.mxl}} suffix that can make files roughly one-twentieth the size of the uncompressed version.<ref name="zip">{{cite web |url = https://www.musicxml.com/tutorial/faq |title = MusicXML FAQ |work = MusicXML |accessdate = 13 December 2014 }}</ref>
The output in standard musical notation looks like this: [[File:MusicXML Cnatural.png|90px]]

The textual representation listed above is verbose; MusicXML v2.0 addresses this by adding a [[data compression|compressed]] [[ZIP (file format)|zip]] format with a <tt>.mxl</tt> suffix that can make files roughly 20 times smaller than their uncompressed version.<ref name="zip">[http://www.recordare.com/musicxml/tutorial/faq#Verbose] rationale for compressed files</ref>


==See also==
==See also==
*[[List of document markup languages]]
* [[List of document markup languages]]
*[[Comparison of document markup languages]]
* [[Comparison of document markup languages]]
* [[MIDI]]
*[[Notation Interchange File Format]] (NIFF)
* [[Music Encoding Initiative]] (MEI)
*[[Wikifonia| Wikifonia, a MusicXML repository]]
* [[Music Markup Language]]

* [[Notation Interchange File Format]] (NIFF)
==External links==
* [[Scorewriter]]
*[http://www.recordare.com/musicxml MusicXML homepage]
* [[Musescore]]
*[http://www.recordare.com/musicxml/community/software MusicXML software list]
*[http://www.recordare.com/musicxml/specification/dtd MusicXML DTD index]
*[http://www.recordare.com/musicxml/specification/xsd MusicXML XSD index]
*[http://www.recordare.com/musicxml/specification/dtd-public-license MusicXML Document Type Definition Public License]
*[http://www.recordare.com/musicxml/music Scores in MusicXML]


==References==
==References==

{{Reflist}}
{{Reflist}}

==External links==

*{{Official website}}
*[https://www.w3.org/2021/06/musicxml40/ MusicXML 4.0 Final Community Group Report]
*[https://www.w3.org/community/music-notation/ W3C Music Notation Community Group]
*[https://www.soundslice.com/musicxml-viewer/ MusicXML viewer] at [https://www.soundslice.com/ Soundslice]
*[https://web.archive.org/web/20220523210113/https://standards.ieee.org/ieee/1599/4403/ IEEE 1599] at IEEE.org

{{Document markup languages}}


{{DEFAULTSORT:Musicxml}}
{{DEFAULTSORT:Musicxml}}
Line 85: Line 118:
[[Category:Music notation file formats]]
[[Category:Music notation file formats]]
[[Category:Musical markup languages]]
[[Category:Musical markup languages]]
[[Category:Computer-related introductions in 2004]]

[[Category:World Wide Web Consortium standards]]
[[ca:MusicXML]]
[[de:MusicXML]]
[[es:Musicxml]]
[[eo:MusicXML]]
[[fr:MusicXML]]
[[ko:MusicXML]]
[[it:MusicXML]]
[[hu:MusicXML]]
[[ja:MusicXML]]
[[pl:MusicXML]]
[[pt:MusicXML]]
[[zh:MusicXML]]

Latest revision as of 08:57, 22 December 2024

MusicXML
Filename extension
.musicxml, .mxl
Internet media type
application/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
Open format?Yes
Websitewww.musicxml.com Edit this at Wikidata

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

[edit]

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

[edit]

As of September 2024, over 270 notation programs have at least some MusicXML interchange capability.[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

[edit]

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.

Representation of middle C on the treble clef created through MusicXML code.

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]

<?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

[edit]

References

[edit]
  1. ^ "Type name: application : Subtype name: vnd.recordare.musicxml+xml". Iana.org. Retrieved 24 November 2014.
  2. ^ "Type name: application : Subtype name: vnd.recordare.musicxml". Iana.org. Retrieved 24 November 2014.
  3. ^ "Working group releases MusicXML update". 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. Retrieved 15 October 2020.
  5. ^ a b "W3C Community Final Specification Agreement". W3C. Retrieved 19 December 2017.
  6. ^ Hewlett, Walter B. (1997). "Chapter 27: MuseData: Multipurpose Representation". In Selfridge-Field, Eleanor (ed.). 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" (PDF). Makemusic.com. Retrieved 13 December 2014.
  9. ^ Phelps, David (28 November 2011). "MakeMusic acquires assets of Internet music company". StarTribune. Retrieved 15 October 2020.
  10. ^ "Beyond iTunes: XML boffins target sheet music". The Register. Retrieved 19 December 2017.
  11. ^ "Compressed MXL Files". MusicXML. Retrieved 27 June 2014.
  12. ^ "Version History of MusicXML". Musicxml.com. Retrieved 27 June 2014.
  13. ^ "News: Recordare Adds Finale 2010 Support to Dolet 5 for Finale Plug-In". 23 September 2009.
  14. ^ "Working group releases its first MusicXML update". ScoringNotes.com. NYC Music Services. 18 December 2017. Retrieved 19 December 2017.
  15. ^ "MusicXML 4.0". MusicXML. Retrieved 2022-01-03.
  16. ^ "Software". MusicXML. Retrieved 27 October 2021.
  17. ^ "File format". MuseScore. Retrieved 27 June 2014.
  18. ^ "HTML5 MusicXML Viewer". Musicxml-viewer.com. 15 May 2012. Archived from the original on 3 April 2016. Retrieved 27 June 2014. Source code available in Google Code, Github and Bitbucket.
  19. ^ Kirlin, Phillip B.; Utgoff, Paul E. (2008). Bello, Juan Pablo; Chew, Elaine; Turnbull, Douglas (eds.). A Framework for Automated Schenkerian Analysis. 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.
  20. ^ "Hello World: A One-Bar Song with a Whole Note on Middle C in 4/4 time". Musicxml.com. Retrieved 19 December 2017.
  21. ^ "MusicXML FAQ". MusicXML. Retrieved 13 December 2014.
[edit]