MusicXML

Last updated
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 format Musical notation
Extended from XML
Open format?Yes
Website www.musicxml.com

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]

Contents

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. MusicXML C Whole Note.svg
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-partwiseversion="4.0"><part-list><score-partid="P1"><part-name>Music</part-name></score-part></part-list><partid="P1"><measurenumber="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

Related Research Articles

A document type definition (DTD) is a specification file that contains set of markup declarations that define a document type for an SGML-family markup language. The DTD specification file can be used to validate documents.

<span class="mw-page-title-main">HTML</span> HyperText Markup Language

The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It defines the meaning and structure of web content. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.

<span class="mw-page-title-main">Standard Generalized Markup Language</span> Markup language

The Standard Generalized Markup Language is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on two postulates":

<span class="mw-page-title-main">XML</span> Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

Mathematical Markup Language (MathML) is a mathematical markup language, an application of XML for describing mathematical notations and capturing both its structure and content, and is one of a number of mathematical markup languages. Its aim is to natively integrate mathematical formulae into World Wide Web pages and other documents. It is part of HTML5 and standardised by ISO/IEC since 2015.

<span class="mw-page-title-main">LilyPond</span> Free software scorewriter

LilyPond is a computer program and file format for music engraving. One of LilyPond's major goals is to produce scores that are engraved with traditional layout rules, reflecting the era when scores were engraved by hand.

XSD, a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item content in a document, to assure it adheres to the description of the element it is placed in.

X3D is a set of royalty-free ISO/IEC standards for declaratively representing 3D computer graphics. X3D includes multiple graphics file formats, programming-language API definitions, and run-time specifications for both delivery and integration of interactive network-capable 3D data. X3D version 4.0 has been approved by Web3D Consortium, and is under final review by ISO/IEC as a revised International Standard (IS).

In computing, RELAX NG is a schema language for XML—a RELAX NG schema specifies a pattern for the structure and content of an XML document. A RELAX NG schema is itself an XML document but RELAX NG also offers a popular compact, non-XML syntax. Compared to other XML schema languages RELAX NG is considered relatively simple.

A scorewriter, or music notation program is software for creating, editing and printing sheet music. A scorewriter is to music notation what a word processor is to text, in that they typically provide flexible editing and automatic layout, and produce high-quality printed results.

An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constraints are generally expressed using some combination of grammatical rules governing the order of elements, Boolean predicates that the content must satisfy, data types governing the content of elements and attributes, and more specialized rules such as uniqueness and referential integrity constraints.

<span class="mw-page-title-main">W3C Markup Validation Service</span> Validator service by the World Wide Web Consortium

The Markup Validation Service is a validator by the World Wide Web Consortium (W3C) that allows Internet users to check pre-HTML5 HTML and XHTML documents for well-formed markup against a document type definition. Markup validation is an important step towards ensuring the technical quality of web pages. However, it is not a complete measure of web standards conformance. Though W3C validation is important for browser compatibility and site usability, it has not been confirmed what effect it has on search engine optimization.

<span class="mw-page-title-main">MuseScore</span> Music notation software

MuseScore is a music notation program for Windows, macOS, and Linux supporting a wide variety of file formats and input methods. It is released as free and open-source software under the GNU General Public License. MuseScore is accompanied by a freemium mobile score viewer and playback app, and an online score-sharing platform.

A Formal Public Identifier (FPI) is a short piece of text with a particular structure that may be used to uniquely identify a product, specification or document. FPIs were introduced as part of Standard Generalized Markup Language (SGML), and serve particular purposes in formats historically derived from SGML. Some of their most common uses are as part of document type declarations (DOCTYPEs) and document type definitions (DTDs) in SGML, XML and historically HTML, but they are also used in the vCard and iCalendar file formats to identify the software product which generated the file.

Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages. It mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.

<span class="mw-page-title-main">Overture (software)</span> Scorewriter

Overture is a music notation (scorewriter) program for Windows and Macintosh platforms, published and developed by Sonic Scores. While Overture is primarily a scorewriter program, it also allows editing the score's MIDI audio playback data in the manner of sequencer and digital audio workstation (DAW) software.

This is a comparison of music notation programs.

XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.

A document type declaration, or DOCTYPE, is an instruction that associates a particular XML or SGML document with a document type definition (DTD). In the serialized form of the document, it manifests as a short string of markup that conforms to a particular syntax.

Standard Music Font Layout, or SMuFL, is an open standard for music font mapping. The standard was originally developed by Daniel Spreadbury of Steinberg for its scorewriter software Dorico, but is now developed and maintained by the W3C Music Notation Community Group, along with the standard for MusicXML.

References

  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. 1 2 "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. "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".
  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.