Skip to content
Search

MusicXML

lastmod 2023-04-26created 2020-05-2069 edits

MusicXML is an open format for notating sheet music in XML. Developed by Recordare, version 1.0 was released in January 2004, followed by version 1.1 in May 2005 and version 2.0 in June 2007. The extension used to be .xmz, but with development at the W3C it changed to .mxl (or .musicxml).

Many programs support this format, and many conversion plugins have been developed, so most existing music programs can import and export it.

Categories

Music notation

Simple Type

Elements

See MusicXML:Element for details.

Complex Type

Samples

  • MusicXML:Airplane - Tteotda Tteotda Bihaenggi (the Korean children's song "Airplane, Airplane, Up It Flies")

Scripts

File formats

.mxl
A compressed MusicXML file.
.musicxml
Used as the extension for uncompressed files.

Terms

See Music#Terms.

MXL Format

This file format is used for compressed MusicXML. Since it is the zip file format, you can extract it by changing the extension to .zip.

This file is in a format similar to JAR.

The META-INF/container.xml file looks like this:

<?xml version="1.0" encoding="UTF-8">
<container>
  <rootfiles>
    <rootfile full-path="elite.xml"
              media-type="application/vnd.recordare.musicxml+xml"/>
    <rootfile full-path="elite.pdf"
              media-type="application/pdf"/>
  </rootfiles>
</container>

Libraries

The MusicXML Library (libmusicxml)
http://libmusicxml.sourceforge.net/
https://github.com/grame-cncm/libmusicxml
MusicXml.NET (Archived)
Quick C# parser for MusicXML
https://github.com/vdaron/MusicXml.Net
MusicXmlSchema (sightreader/musicxml-schemas)
https://github.com/sightreader/musicxml-schemas
MusicXML 2.0, 3.0, 3.1 XSD to C# autogenerated schemas with some documentation and pascal-cased names.
Dependency: XmlSchemaClassGenerator
Manufaktura Controls (Manufaktura.Controls, Manufaktura, ManufakturaLibraries)
Bitbucket - ManufakturaLibraries
http://musicengravingcontrols.com/en-US/Home/
https://www.codeproject.com/Articles/1252423/Music-Notation-in-NET
OpenSheetMusicDisplay
https://opensheetmusicdisplay.org/
Verovio
https://www.verovio.org/index.xhtml

Softwares

Example

Notating the note C (do) in C major looks like this.

  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <!DOCTYPE score-partwise PUBLIC
      "-//Recordare//DTD MusicXML 2.0 Partwise//EN"
      "http://www.musicxml.org/dtds/partwise.dtd">
  <score-partwise version="2.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>

See also

Favorite site

Documentation

Official Tutorials

References


  1. MusicXML_-tutorial-hello_world-_BGSMM.pdf ↩

  2. Music_Notation_Basic_Guide_-_The_Note_Music_Story.pdf ↩

author Zer0 sitemap