Fact-checked by Grok 2 weeks ago

MusicXML

MusicXML is an XML-based open format for representing Western , primarily designed to enable the exchange, archiving, and publishing of digital sheet music across diverse applications and platforms. Developed as a universal interchange standard akin to for audio, it models common elements of music notation from the onward, including notes, rhythms, , , and , while ensuring long-term readability and compatibility without proprietary restrictions. The format supports both uncompressed .xml files and compressed .mxl variants, facilitating seamless collaboration among musicians using software like Finale, Sibelius, and Dorico. Initiated by Michael Good at Recordare LLC in 2000, MusicXML's design drew from academic predecessors such as MuseData and Humdrum to prioritize practicality for musicians and developers over exhaustive theoretical coverage. The first public prototype, version 0.1, was presented at the 2000 International Symposium on (ISMIR), with version 1.0 released in January 2004 following early adoption by tools like SharpEye Music Writer. Subsequent milestones include version 2.0 in 2007, which introduced compression and over 95 new features; version 3.0 in 2011, enhancing virtual support; and version 3.1 in 2017, improving font compatibility via the Standard Music Font Layout (SMuFL). Recordare was acquired by MakeMusic in 2011, and development transitioned to the W3C Music Notation Community Group, culminating in version 4.0 as a 2021 Community Group Report, which standardized score-and-parts representation in single files. By 2025, MusicXML has achieved widespread adoption, with support in over 270 applications across Windows, macOS, , , and , making it the most successful notation interchange format since . Its open documentation and royalty-free nature have driven integration into professional tools like Steinberg's Dorico and Cubase, as well as educational and mobile apps, promoting and reducing in music creation workflows. Ongoing work on version 4.1 drafts continues to refine features for emerging needs, such as enhanced and web-based rendering.

Overview

Definition and Purpose

MusicXML is an open, XML-based file format designed for encoding musical scores in Western musical notation, encompassing elements such as notes, rhythms, dynamics, and other notations to facilitate exchange between diverse music notation software applications. Developed as an interchange standard, it represents common Western music notation from the seventeenth century onward, enabling the structured representation of scores for purposes including notation, analysis, retrieval, and performance. The primary purpose of MusicXML is to enable seamless transfer of digital across different applications without , thereby addressing the limitations of proprietary formats used in software like Finale and Sibelius, which often restrict . By providing a universal, royalty-free standard, it promotes collaboration among musicians and developers, much like did for electronic instruments, and supports the growth of online distribution. This format ensures that scores can be shared, archived, and rendered consistently across over 270 supporting applications, enhancing and long-term preservation. Key design goals of MusicXML include achieving high interoperability between music programs, leveraging XML for readability and internet-friendliness, and offering extensibility to accommodate future musical notations and extensions. It supports both printing of engraved scores and audio playback, with flexible representations such as partwise and timewise formats to suit various processing needs. The scope is focused primarily on Western notation, deliberately excluding non-notational elements like audio waveforms to maintain its emphasis on symbolic music representation.

Key Features

MusicXML leverages an XML-based foundation to provide a structured and hierarchical representation of musical data, facilitating easy validation, parsing, and interchange across diverse software applications. This design employs XML schemas to organize scores into logical components such as parts, measures, and notes, ensuring that musical information is both human-readable and machine-processable. By adhering to XML standards, MusicXML supports two primary formats—partwise, where measures are grouped within parts, and timewise, where parts are grouped within measures—with built-in stylesheets enabling seamless conversion between them. This foundational approach promotes , allowing musicians to exchange scores without loss of notation details that are often absent in binary formats like . To optimize storage and transmission, MusicXML incorporates compression support through .mxl files, which package the XML content within a ZIP archive using the DEFLATE algorithm, significantly reducing file sizes—often by a factor of 20 or more—while maintaining full fidelity to the original notation. This compressed format, introduced in MusicXML 2.0, uses the media type application/vnd.recordare.musicxml+xml and follows conventions similar to the JAR file format, making it suitable for web distribution and email sharing without compromising the uncompressed .xml option for direct editing. MusicXML enables bidirectional mapping with and Standard MIDI Files (SMF) for enhanced audio integration and playback capabilities, bridging symbolic notation with synthesized sound. Elements such as , duration, and MIDI device assignments (e.g., via ) allow straightforward conversion, where MusicXML scores can generate MIDI data for and vice versa, though MusicXML captures far richer notational details like articulations that MIDI omits. This feature supports applications ranging from score editing to live software, ensuring compatibility with established audio workflows. The format's modular and extensible design accommodates a wide array of musical notations through optional attributes and elements, allowing users to include specialized markings such as articulations, ornaments, and pedal indications without requiring core schema changes. This flexibility stems from XML's inherent extensibility, enabling future enhancements while preserving for existing files. Developers can thus tailor MusicXML to specific needs, like adding custom or advanced , fostering adoption in both commercial and open-source tools. Unicode compatibility ensures robust handling of international characters in lyrics, directions, and text elements, using encoding to support multilingual scores and diverse typographic needs. This allows for the inclusion of non-Latin scripts, accented characters, and symbols in elements like , promoting global accessibility in music publishing. By defaulting to in its XML declaration, MusicXML avoids encoding issues common in legacy formats, enabling seamless integration with modern text processing systems. For precise rhythmic representation, MusicXML employs a division-based timing system, where "divisions" define the number of ticks per (e.g., 24 divisions for standard notation), allowing durations to be expressed as integers without relying on . This method, inherited from and earlier formats like MuseData, ensures exact timing for complex rhythms, such as or irregular meters, by calculating note lengths as multiples of the division unit (e.g., a equals one division's worth if set to 1). Such supports high-fidelity transcription and playback, avoiding the precision losses that can occur in decimal-based systems.

History

Origins and Development

MusicXML was created by Michael Good, founder and CEO of Recordare LLC, in 2000 to address the fragmentation caused by proprietary binary formats in music notation software, which hindered and data exchange in the growing digital market. At the time, the rise of Internet-based music distribution, exemplified by services like Sunhawk, highlighted the need for a universal format for symbolic music representation, akin to for audio, that could facilitate sharing between applications such as Finale and Sibelius without loss of notation details. Good, drawing on his experience in music software development, established Recordare in January 2000 with guidance from experts like professor Barry Vercoe, who emphasized the potential of XML for structured music data. The initial prototype of MusicXML emerged as an XML-based adaptation of established academic formats, primarily MuseData—developed by Walter Hewlett and others for —and Humdrum, created by David Huron for music analysis, aiming to provide an open, human-readable alternative to closed binary systems. This design choice ensured a solid foundation for representing common from the onward, including both classical and popular styles, while prioritizing musical logic over specifics. Early development involved building translators for formats like MuseData, NIFF, , and Finale's ETF, using tools such as 6.0 to test core concepts of interchange. The prototype was publicly introduced as version 0.1 at the 2000 International Symposium on (ISMIR), marking MusicXML's debut as a viable XML solution for music notation. Key early milestones included the release of version 0.5 in 2001, which saw initial commercial adoption with SharpEye Music Reader becoming the first product to support MusicXML import and export in September of that year. To validate , Recordare collaborated closely with leading notation software developers: a Dolet for Finale, first released in 2002, enabled two-way exchange and was bundled with Finale 2003, while a similar for Sibelius followed in August 2003, allowing users to transfer scores between the competing programs. These efforts were driven by the publishing industry's demand for seamless digital workflows, culminating in the first public release of MusicXML version 1.0 in January 2004, which solidified its role as a standard for interchange. A pivotal shift occurred in 2011 when MakeMusic, developers of Finale, acquired Recordare's assets—including the MusicXML specification and Dolet software—in , with Michael Good joining as director of digital technologies. This transition opened MusicXML to broader community involvement, moving away from proprietary stewardship toward collaborative evolution while maintaining its focus on open standards.

Standardization Process

In 2015, MakeMusic, the successor to Recordare LLC, transferred the development and maintenance of MusicXML to the newly formed W3C Music Notation Community Group to foster open, collaborative advancement of the format. This handover marked a shift toward institutional governance under the (W3C), enabling broader participation from developers, software vendors, and researchers without the formal overhead of a full W3C . The Community Group, chartered on August 5, 2015, focuses on evolving MusicXML as an open specification for music notation interchange, ensuring its continued relevance in digital music applications. Under W3C auspices, MusicXML specifications are published as Community Group Reports rather than formal W3C Recommendations, a status that promotes accessibility while adhering to rigorous documentation standards. This process guarantees use through participants' commitments to the W3C Policy, which requires all contributors to license essential patents on fair, reasonable, and non-discriminatory terms, or , to prevent barriers to adoption. The policy has been upheld across all updates, maintaining MusicXML's openness since the transfer. Community contributions drive the standardization, with developers submitting proposals and issues via the project's repository, which hosts the canonical specifications, schemas, and documentation. Annual face-to-face meetings, often held at events like the , facilitate discussions on enhancements, bug fixes, and compatibility, resulting in iterative updates to the format's documentation and supporting files. These collaborative efforts led to releases such as MusicXML 3.1 in 2017 and 4.0 in 2021, emphasizing incremental improvements without altering the core interchange principles. As of 2025, governance remains with the W3C Music Notation Community Group, with no significant structural changes since the release of version 4.0, allowing focus on maintenance, validation tools, and integration with related standards like SMuFL. In early 2025, the group began developing a draft for MusicXML version 4.1, with active discussions continuing through community meetings in and . The ongoing process prioritizes stability and community-driven evolution to support the format's role in cross-application music exchange.

Versions

Early Versions (1.0–2.0)

MusicXML 1.0, released in January 2004 by Recordare, introduced the foundational structure for representing common Western music notation in XML format. This version established core elements including scores divided into parts and measures, with notes defined by attributes such as (step, alter, ) and duration. It also included support for key signatures, time signatures, and clefs within the attributes element, addressing basic notational needs for interchange between applications like Finale. These features enabled semantic representation of musical scores, facilitating compatibility with tools such as SharpEye music scanning software by 2001 and Finale's Windows version in 2003. Version 1.1, released in May 2005, built upon 1.0 as a strict superset, adding over 70 new features primarily focused on music notation formatting. Key enhancements included improved support for with attributes like print-lyric for chord sheets and justify for text , as well as symbols through formatting attributes in the kind and optional offset and staff elements in harmony. was formalized with a parentheses attribute and defined values for elements, enabling better representation of . These additions expanded MusicXML's utility for and editorial applications, with growing adoption in scanners like PhotoScore and notation programs including Sibelius 4 for import (though export required plugins). MusicXML 2.0, released in June 2007, further extended the format with 95 new features, emphasizing advanced notation and playback capabilities. It enhanced multi-part score handling via elements like part-symbol for grouping and group-time for spanning time signatures, while introducing comprehensive support for tuplets through metronome-tuplet and related elements. Notations such as slurs (with start/stop types) and dynamics (including stress/unstress articulations) were expanded for expressive markup. MIDI export compatibility improved with additions like volume, pan, and solo/ensemble specifications. The version also introduced the compressed .mxl format using ZIP, reducing file sizes by approximately 20 times. These developments drove early integrations, such as native support in Finale 2007 for import and Dolet plugins enabling export, alongside Sibelius 5's compatibility via updates.

Modern Versions (3.0–4.0)

MusicXML version 3.0, released in August 2011, introduced significant enhancements to more nuanced musical notations while preserving compatibility with prior versions. Key additions included microtonal accidentals to represent quarter-tones and other non-standard pitches, notation for fretted instruments like guitar, and extended such as sfzp and for more precise expressive markings. Improvements to grouping allowed for automatic and manual control over beaming in complex rhythms, and grace notes received better handling, including for beamed and unbeamed varieties with slurs and . A of 886 instrument sounds was introduced to allow better transfer of playback information between applications. Version 3.1, published as a W3C Community Group Report in December 2017, built on these foundations by incorporating refinements aligned with W3C standards. It enhanced support for ornaments, such as trills and turns, through integration with the Standard Music Font Layout (SMuFL) for consistent symbol rendering across applications. Articulations, including and marks, gained improved semantic encoding to facilitate accurate interchange between notation software. MusicXML 4.0, released in June 2021 as another W3C Community Group Report, further advanced the format's capabilities with new elements for encoded performance data, allowing direct inclusion of timing and controller information within scores. It introduced measure repeats to efficiently notate repetitive sections and improved slash notation for rhythms in and pop contexts. The version also enhanced documentation with comprehensive examples for every element and emphasized score-part integration in compressed files. As of April , a for version 4.1 has been published by the W3C Music Notation Community Group, introducing additions and other refinements while maintaining . Following the 4.0 release, minor refinements have occurred through , primarily in supporting tools to enhance with emerging libraries. For instance, Verovio version 3.3.0, released in February 2021, added robust handling of compressed MusicXML (.mxl) files, with subsequent updates refining for modern web-based applications. These changes focus on optimizing file and playback without altering the core . All modern versions of MusicXML maintain by preserving the core structure, ensuring that files from versions 1.0 through 3.1 remain valid and functional in 4.0 implementations.

Technical Specifications

File Format and Structure

MusicXML files are structured as XML documents, providing a hierarchical representation of musical scores that facilitates interchange between notation software. The format supports two primary root elements to organize the score data: <score-partwise>, which structures the content by musical parts with measures nested within each part, and <score-timewise>, which organizes by measures with parts nested within each measure. This dual approach allows flexibility in how the score is parsed and rendered, depending on whether part-wise or time-wise processing is preferred. The hierarchical structure begins with a score header that includes a <part-list> element, which defines the overall through one or more <score-part> elements, each with a unique id attribute and a <part-name> specifying the or . Following the header, the <part> elements (in partwise format) or <measure> elements (in timewise format) contain the musical data, with measures further nesting elements such as <note> to represent individual musical events. This tree-like organization ensures that relationships between parts, measures, and notes are explicitly defined, enabling precise reconstruction of the score. MusicXML files can be stored in uncompressed .xml format or as compressed .mxl files, which use archiving with the algorithm to reduce file size while maintaining compatibility with standard XML tools. The .mxl format includes a mimetype file specifying application/vnd.recordare.musicxml, a META-INF/container.xml that points to the root score file (such as score.xml), along with style sheets or other resources like images. This compression option enhances portability without altering the core XML structure. Metadata is incorporated at the score level through the <identification> element, which captures details such as the creator, rights information, and encoding software or version, drawing from standards like for broad applicability. Additionally, the <defaults> element sets score-wide parameters for scaling (e.g., tenths of interline space), , and defaults, ensuring consistent rendering across applications unless overridden. These elements appear in the score header to provide without embedding in the musical data flow. For validation and extensibility, MusicXML relies on XML Schema Definition (XSD) files, such as the comprehensive musicxml.xsd, which enforce structural rules more rigorously than the older Document Type Definitions (DTDs) by defining data types and constraints directly. The format intentionally avoids XML namespaces in its core schema to maintain with DTD-based tools, while allowing extensions through custom attributes or elements where needed for proprietary features. Compliance with these schemas ensures and prevents parsing errors in supporting software.

Core Elements and Attributes

The core elements and attributes in MusicXML provide the foundational structure for encoding , enabling precise representation of pitches, rhythms, , and expressive markings within an XML . These elements are defined in the official MusicXML 4.0 specification, which emphasizes separation between sound data (for playback) and notational data (for visual rendering). The <note> element serves as the primary building block for musical content, representing individual notes or rests within a score. It includes child elements for pitch specification via <pitch>, which contains <step> (e.g., C, D), <alter> for accidentals (e.g., 1 for ), and <octave> (0–9, where 4 is middle C). Duration is encoded using <duration>, measured in divisions (a global timing unit), while <type> defines the graphic note head shape, such as "whole", "half", or "quarter". For example:
xml
<note>
  <pitch>
    <step>C</step>
    <octave>4</octave>
  </pitch>
  <duration>4</duration>
  <type>quarter</type>
</note>
This structure allows for flexible encoding of grace notes (omitting <duration>) and cue notes (with <duration> but scaled size). Measures are organized using the <measure> element, which groups notes and other data into temporal units. It requires a number attribute for identification (e.g., "1", "2"), with optional implicit="yes" to suppress printing measure numbers (common for pickups) and width in tenths for layout control. Within <measure>, <barline> elements define barline styles, and <attributes> encapsulate measure-wide settings like key signatures (<key> with fifths and mode), time signatures, and clefs (<clef> with sign and line). For instance, a measure might begin with:
xml
<measure number="1">
  <attributes>
    <divisions>2</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>
  <!-- notes follow -->
</measure>
This organization ensures consistent rhythmic and tonal context across parts. Part-specific data is managed through the <score-part> element in the <part-list>, which defines instruments via <score-instrument> (name and program) and devices with <midi-device> (port and channel assignments) and <midi-instrument> for initial selection. Directions, handled by the <direction> element, apply expressive instructions like and articulations not tied to specific notes. For , <direction-type> contains <dynamics> with elements such as <p> for ; wedges use <wedge type="crescendo"> or <wedge type="diminuendo">. An example dynamic marking:
xml
<direction placement="below">
  <direction-type>
    <dynamics>
      <p/>
    </dynamics>
  </direction-type>
</direction>
These support multi-part scores by linking to specific <part> IDs. Rhythmic structure relies on the <divisions> element within <attributes>, specifying resolution as divisions per (e.g., 96 for common sixteenth-note precision, maximum 16383 for compatibility). The <time> element defines meters using one or more <beats> (numerator, e.g., 4) and <beat-type> (denominator, e.g., 4 for 4/4), with attributes like symbol="[common](/page/Common)" for visual shortcuts and separator="none" for meters. Changes in <divisions> mid-score accommodate complex rhythms without altering playback. Notational attributes enhance readability and expression. The <lyric> element, attached to <note>, encodes text with <text> for syllables, <syllabic> for hyphenation (e.g., "begin" or "end"), and alignment via justify (left//right) and placement (above/below by default). For example:
xml
<lyric number="1">
  <syllabic>begin</syllabic>
  <text>Hel</text>
</lyric>
The <notations> element groups articulations and ornaments on a note, including <slur type="start"> and <slur type="stop"> for phrasing (with placement="above" or "below"), <tied type="start"> for note ties, and <fermata type="upright"> for pauses, allowing multiple layers for distinctions.

Adoption and Support

Software Compatibility

MusicXML enjoys broad compatibility across a wide range of music notation and production software, enabling seamless exchange of digital sheet music between applications. As of 2025, over 270 applications support the format, facilitating interoperability in professional, educational, and amateur workflows.

Professional Tools

Leading professional notation software provides robust support for importing and exporting MusicXML files. Finale v27, its final version (development ended in 2024, support until August 2025), offers full read/write compatibility with MusicXML versions up to 4.0, including advanced features like concert scores and parts generation. Sibelius includes native import and export capabilities, with enhanced quality and MusicXML 4.0 support available through the Dolet 8 plugin, which addresses limitations in native handling of complex notations. Dorico supports comprehensive MusicXML import and export, including version 4.0 features for elements like editorial markings and percussion notation, making it suitable for detailed orchestral scores. Following Finale's discontinuation, Dorico has seen increased adoption among former Finale users for MusicXML workflows. The open-source MuseScore provides full bidirectional support for MusicXML, encompassing version 4.0, and is widely used for its accessibility and community-driven improvements.

Mobile and Web Applications

Web-based and mobile platforms have integrated MusicXML to support collaborative editing and rendering. Flat.io enables direct import and export of MusicXML files, allowing users to transfer scores between desktop and online environments while preserving notation details like and articulations. Noteflight supports MusicXML import from formats like MIDI-derived files and export for compatibility with other tools, though some advanced symbols may require manual adjustments post-import. Verovio, a JavaScript-based , has supported MusicXML and compressed .mxl files since its 2023 updates, enabling lightweight rendering in web browsers for applications like online score viewers.

DAW Integration

Digital audio workstations (DAWs) offer partial MusicXML support, often focused on notation export or MIDI-linked imports rather than full bidirectional notation handling. allows exporting scores as MusicXML files, useful for transferring engraved notation to other software, but imports typically rely on conversion for playback integration. supports both importing MusicXML files into its notation view for editing and exporting them, providing a bridge between audio production and scorewriting, though complex layouts may need refinement. has limited native MusicXML handling, primarily through exports or third-party plugins like MaxScore for notation integration, emphasizing its role in performance-oriented workflows over detailed .

Libraries and APIs

Developers leverage open-source libraries for programmatic MusicXML processing. Libmusicxml, a C/C++ library, facilitates reading, writing, and validation of MusicXML files, commonly used in custom applications for format conversion. The Python-based music21 toolkit supports comprehensive import and export of MusicXML, enabling analysis, manipulation, and generation of musical structures in research and scripting contexts. VexFlow, a for browser-based notation rendering, integrates with MusicXML parsers to display scores dynamically, supporting web applications that require real-time visualization. Overall compatibility has matured, with MusicXML 4.0 widely adopted in major tools like Finale, , and Dorico by 2025, enhancing features such as multi-staff layouts. However, known issues persist, particularly with support in older versions or certain imports, where positions or diagrams may not transfer completely, requiring software-specific workarounds.

Industry Applications and Impact

MusicXML has significantly streamlined publishing workflows by serving as a universal interchange format that enables seamless collaboration across diverse music notation software. In cloud-based platforms like Flat.io, it supports real-time editing and sharing of scores, minimizing errors associated with proprietary format conversions during production and distribution. This standardization allows publishers to exchange files effortlessly between tools such as Finale and Sibelius, facilitating efficient workflows for composers and engravers without the need for manual re-entry or loss of musical data. In educational settings, MusicXML integration enhances accessibility and portability in learning environments. Software like and Impro-Visor incorporates MusicXML to allow students to import, edit, and share scores across devices, promoting collaborative practice and analysis without compatibility issues. For instance, educators can distribute assignments in a standardized format that works with both desktop and mobile applications, fostering interactive and composition exercises. The format also advances accessibility for visually impaired musicians through extensions like the Braille Music Markup Language (BMML), which builds on MusicXML to enable transcription tools. Applications such as support exporting scores to MusicXML, which can then be converted to notation via specialized software like the São Mai Braille Translator, allowing performers to access and study complex repertoires independently. MusicXML plays a pivotal role in and applications within (MIR). It forms the basis for large-scale datasets like PDMX, comprising scores for training symbolic music generation models, and is utilized in tools such as AnthemScore for transcribing audio to editable notation. This has enabled advancements in automated composition and analysis systems, broadening into algorithmic music creation. Economically, MusicXML's widespread adoption—supported by over 270 applications as of 2025—has established it as the for digital score exchanges, reducing costs and barriers for independent composers and orchestras by eliminating format silos and enabling global collaboration. This has democratized access to professional-grade tools, contributing to the growth of digital music publishing without reliance on vendor-specific ecosystems, particularly with shifts from discontinued software like Finale to alternatives such as Dorico.

Examples

Basic Notation Example

To illustrate the fundamental encoding capabilities of MusicXML, consider a simple example representing the first four notes of a C major scale (C4, D4, E4, F4) as quarter notes in a single measure of 4/4 time, using treble clef. This scenario demonstrates the basic structure for monophonic notation without additional complexities such as lyrics or dynamics. The following XML snippet provides the complete <score-partwise> document for this example, adhering to MusicXML version 4.0 specifications. It includes a <part-list> defining a single instrumental part, followed by the <part> containing one <measure>. The <attributes> element establishes the key (C major with zero sharps or flats), time signature (4/4), and clef (G clef on the second line for treble). The <divisions> value of 1 indicates that each quarter note equals one division unit. Four consecutive <note> elements then specify the pitches and durations.
xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>
          <mode>major</mode>
        </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>1</duration>
        <type>quarter</type>
      </note>
      <note>
        <pitch>
          <step>D</step>
          <octave>4</octave>
        </pitch>
        <duration>1</duration>
        <type>quarter</type>
      </note>
      <note>
        <pitch>
          <step>E</step>
          <octave>4</octave>
        </pitch>
        <duration>1</duration>
        <type>quarter</type>
      </note>
      <note>
        <pitch>
          <step>F</step>
          <octave>4</octave>
        </pitch>
        <duration>1</duration>
        <type>quarter</type>
      </note>
    </measure>
  </part>
</score-partwise>
In this encoding, the <divisions> attribute defines the smallest rhythmic unit, here set to 1 for simplicity, allowing <duration> values to directly correspond to note lengths (e.g., 1 unit for a in 4/4 time). is encoded via the <pitch> element, where <step> denotes the diatonic note name (C through B) and <octave> specifies the register (4 for the starting at middle C). The <type> element reinforces the rhythmic value (quarter), ensuring compatibility with notation software for rendering. Together, these elements—divisions for timing, for melody, and duration for —combine to represent a precise musical phrase, enabling across digital scores. When rendered by MusicXML-compatible software, this file produces a in treble clef showing four ascending quarter notes: on the ledger line below the , D4 on the bottom line, E4 in the first space, and on the second line, filling the 4/4 measure evenly without or barline interruptions. This visualization confirms the encoding's accuracy in translating XML to standard notation.

Advanced Features Example

To illustrate advanced capabilities in MusicXML, consider a single measure in 4/4 time featuring a two-part : an upper starting on G4 (a with the beginning of a for phrasing) and a lower providing support via a half-note chord on and , accompanied by a dynamic marking and a crescendo indication below the . This example demonstrates layered voicing within one staff, expressive articulations, and performance directions, building on core notation elements like and . The following XML snippet represents this measure (assuming prior setup with 1 for quarter-note duration=1, and a single treble clef for simplicity):
xml
<measure number="1">
  <direction placement="below">
    <direction-type>
      <dynamics>
        <p/>
      </dynamics>
      <wedge type="crescendo"/>
    </direction-type>
  </direction>
  <note>
    <pitch>
      <step>G</step>
      <octave>4</octave>
    </pitch>
    <duration>1</duration>
    <type>quarter</type>
    <voice>1</voice>
    <stem>up</stem>
    <notations>
      <slur type="start"/>
    </notations>
  </note>
  <note>
    <pitch>
      <step>C</step>
      <octave>3</octave>
    </pitch>
    <duration>2</duration>
    <type>half</type>
    <voice>2</voice>
    <stem>down</stem>
  </note>
  <note>
    <chord/>
    <pitch>
      <step>E</step>
      <octave>3</octave>
    </pitch>
    <voice>2</voice>
    <stem>down</stem>
  </note>
  <note>
    <rest/>
    <duration>1</duration>
    <type>quarter</type>
    <voice>1</voice>
  </note>
</measure>
This code integrates the element to specify the piano dynamic via and the crescendo via , which applies to subsequent notes until a matching stop. The upper-voice uses 1 and to begin a curved line, indicating smooth connection to the next . For the lower voice, 2 distinguishes it from the melody, while the tag on the second shares the half- with the initial C3, enabling simultaneous without restarting timing. A quarter rest in the upper voice completes the measure. When rendered in compatible software, this produces ensemble notation on a single : the G4 appears above the staff midline with an upward and the slur's starting curve arching rightward; below, the C3-E3 half-note stacks vertically with downward stems, accompanied by a "p" marking and a widening line (hairpin) symbolizing the crescendo, evoking a gradual volume increase over the measure.

References

  1. [1]
  2. [2]
    MusicXML: The First Decade | Songs and Schemas - Michael Good
    MusicXML is a universal interchange and distribution format for common Western music notation. MusicXML's design and development began in 2000.
  3. [3]
    MusicXML 4.0 - W3C
    Jun 1, 2021 · MusicXML is a standard open format for exchanging digital sheet music. ... It is not a W3C Standard nor is it on the W3C Standards Track.
  4. [4]
    MusicXML File Format Family - The Library of Congress
    Sep 6, 2024 · The chronological development of MusicXML includes: MusicXML 1.0 (January 2004); MusicXML 1.1 (May 2005): Added many new features for music ...
  5. [5]
    MusicXML Software
    Version 6.0 added support for both importing and exporting MusicXML files directly from the File menu. Version 5.3 added MusicXML export via a plugin.
  6. [6]
    MusicXML 4.1 Draft - W3C on GitHub
    MusicXML is a standard open format for exchanging digital sheet music. It is designed for sharing sheet music files between applications, and for archiving ...
  7. [7]
    MusicXML: An Internet-Friendly Format for Sheet Music
    MusicXML is a new Internet-friendly format for representing sheet music and music notation. We introduce the basics of MusicXML design.
  8. [8]
    Introduction - MusicXML
    MusicXML is a format for representing common Western music notation from the seventeenth century onwards.
  9. [9]
    MusicXML - Music Notation: Preferred Preservation Formats for ...
    Dec 27, 2023 · MusicXML is a flexible format using text to represent musical elements—it is the open interchange format for sharing music notation data ...
  10. [10]
    [PDF] MusicXML 3.0 Tutorial
    Aug 10, 2011 · MusicXML is a digital sheet music interchange and distribution format. The goal is to create a universal format for common Western music ...
  11. [11]
    Elements of MusicXML Design
    MusicXML can represent scores either partwise (measures within parts) or timewise (parts within measures), with XSLT stylesheets to go back and forth between ...
  12. [12]
    [PDF] Lessons from the Adoption of MusicXML as an Interchange Standard
    Abstract. Around 2000, many people realized that XML technology could be a great way to finally create a successful interchange format for music notation ...
  13. [13]
    ISMIR 2000: Representing Music Using XML - MusicXML
    MusicXML attempts to provide an interchange language that is well designed from musical, human, and computer perspectives. Author Information. Michael GoodMissing: origins LLC
  14. [14]
    Version 1.0 | MusicXML 4.0
    MusicXML 4.0 > Version History > Version 1.0. Version 1.0. Released January 2004.
  15. [15]
    Press Releases 2011 - MakeMusic
    MakeMusic, Inc. Enhances Technology Leadership By Purchasing Recordare Assets. Recordare founder Michael Good to join MakeMusic team as director of digital ...
  16. [16]
    MusicXML, Version 3.0 - Library of Congress
    May 9, 2024 · Michael Good, who developed MusicXML as the principal of Recordare, moved to MakeMusic in late 2011. The version history for MusicXML is at ...
  17. [17]
    MakeMusic Transfers MusicXML Development to W3C
    Jul 28, 2015 · MakeMusic's 2011 acquisition of Recordare's assets changed the community dynamics, since the owner of the format was now a competitor of many ...
  18. [18]
    Group Charter - Music Notation Community Group - W3C
    Music Notation Community Group Charter. Start Date: 5 August 2015; Charter Revision Date: 18 January 2022. Goals. The Music Notation Community Group develops ...Scope Of Work · Deliverables · Contribution MechanicsMissing: formation | Show results with:formation
  19. [19]
    2015 Year-End Update | Music Notation Community Group - W3C
    Dec 10, 2015 · 2015 has been a major year for music notation standards with the formation of the W3C Music Notation Community Group.Missing: date | Show results with:date
  20. [20]
    MusicXML 3.1 Published as a W3C Community Group Report
    Dec 14, 2017 · MusicXML 3.1 is the first MusicXML release since August 2011, and the first release by the W3C Music Notation Community Group.Missing: handed | Show results with:handed
  21. [21]
    Music Notation Community Group - W3C
    The Community Group documents, maintains and updates the MusicXML and SMuFL (Standard Music Font Layout) specifications. The goals are to evolve the ...Missing: process | Show results with:process
  22. [22]
    MusicXML 4.0
    Version 4.0 of MusicXML was released in June 2021. It was developed by the W3C Music Notation Community Group and published as a Community Group Report.MusicXML DTD · MusicXML XSD · Standard Sounds · MusicXML XSLT
  23. [23]
    Notation Basics in MusicXML
    Mid-measure clef changes are the main use for this feature. Time. To ... This indicates that three notes are placed in the time usually allotted for two notes.Missing: core | Show results with:core
  24. [24]
    Version 1.1 | MusicXML 4.0
    Added print-lyric attribute, used in chord sheets that include lyrics and chords but no melody. Added fan attribute to the <beam> element. Added line-shape ...
  25. [25]
    Version 2.0 | MusicXML 4.0 - W3C
    Version 2.0. Released June 2007. New Files. Added container.dtd file for compressed MusicXML 2.0 files. Compressed MusicXML files are around 20 times ...Missing: features | Show results with:features
  26. [26]
    Dolet for Finale Version History - MusicXML
    Changes 1.0 to 1.0.1 (May 2002). Added support for MusicXML 0.6a and invisible barlines. First Dolet for Finale release 1.0 (April 2002). Downloads · Dolet 8 ...
  27. [27]
    Version 3.0 | MusicXML 4.0
    Version 3.0. Released August 2011. New Files. Added sounds.dtd file for a standard set of instrument sounds to identify musical timbre.
  28. [28]
    MusicXML - W3C
    Dec 7, 2017 · It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Final Specification Agreement (FSA) ...
  29. [29]
  30. [30]
    MusicXML 4.0 W3C Community Group Report
    Jun 7, 2021 · This is the first update to MusicXML since the Version 3.1 release 3½ years ago. MusicXML 4.0 includes many major new features. It adds or ...
  31. [31]
    News | Verovio
    The latest update, Verovio 3.3.0 is now available. This release includes a number of improvements, including support for compressed MusicXML files ( .mxl ). In ...
  32. [32]
    The Structure of MusicXML Files
    MusicXML has two different score formats, each with its own root element. For a partwise document, the root element is <score-partwise>. The musical part is ...
  33. [33]
    Compressed .MXL Files | MusicXML 4.1 Draft
    The format uses zip compression and a special . mxl file suffix and Internet media type to identify files as MusicXML files vs. generic XML files.
  34. [34]
    Element: identification
    Description. Identification contains basic metadata about the score. It includes the information in MuseData headers that may apply at a score-wide, ...
  35. [35]
    Element: defaults [group score-header]
    You are here: MusicXML Reference > Score Schema (XSD) > Elements > Element: defaults ... If omitted when used in the defaults element, "both" is the default.
  36. [36]
    musicxml.xsd - W3C
    For example, the stopping point for a tuplet may appear in staff 1 before the starting point for the tuplet appears in staff 2 later in the document. When ...
  37. [37]
    musicxml.org gives 404 on the dtd · Issue #480 - GitHub
    Jan 10, 2023 · "The MusicXML 4.0 DTD has no namespace, so for compatibility the MusicXML 4.0 XSD has no namespace either. Those who need to import the MusicXML ...
  38. [38]
    The <note> element | MusicXML 4.0
    The MusicXML format distinguishes between elements used for sound information and elements used for notation information (e.g., <tie> is used for sound, <tied> ...
  39. [39]
  40. [40]
    The <type> element | MusicXML 4.0
    The <type> element indicates the graphic note type. Values range from 1024th to maxima. Content. note-type-value. Attributes. Name, Type, Required?
  41. [41]
    The <measure> element (partwise) | MusicXML 4.0
    The <measure> element includes the basic musical data such as <note>s within a <score-partwise> document.
  42. [42]
    The <attributes> element | MusicXML 4.0
    The <attributes> element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions ...<|control11|><|separator|>
  43. [43]
    The <score-part> element | MusicXML 4.0
    ### Summary of `<score-part>` Element
  44. [44]
    The <direction> element | MusicXML 4.0
    ### Summary of `<direction>` Element (MusicXML 4.0)
  45. [45]
    None
    Nothing is retrieved...<|separator|>
  46. [46]
    The <time> element | MusicXML 4.0
    ### Summary of `<time>` Element in MusicXML
  47. [47]
    The <lyric> element | MusicXML 4.0
    ### Summary of `<lyric>` Text Alignment Details
  48. [48]
    The <notations> element | MusicXML 4.0
    The <notations> element collects musical notations that apply to a specific note or chord. Multiple <notations> elements are allowed in order to represent ...
  49. [49]
  50. [50]
    Dolet® 8 Plugin for Sibelius - MusicXML
    Our Dolet 8 for Sibelius plugin improves MusicXML export quality even further by adding support for MusicXML 4.0 files. It includes over 50 new features.<|separator|>
  51. [51]
    MusicXML Export and Import - Dorico Blog
    MusicXML is used to share projects between programs. To import into Dorico, go to File > Import > MusicXML, and choose the file.
  52. [52]
  53. [53]
    Working with MusicXML files - MuseScore
    MusicXML is a universal file format that allows music scores to be shared between different music notation programs.Missing: details | Show results with:details<|control11|><|separator|>
  54. [54]
    Import and edit existing scores and tabs - Flat
    On Flat, go to My Library, then drag & drop your XML/MXL file. You can also click on the Import a score or tab button, or New score or tab and choose Import ...Missing: Verovio | Show results with:Verovio
  55. [55]
    Importing and Exporting Music - Noteflight Support
    Jul 22, 2022 · Noteflight allows you to import both XML or MIDI files directly into the Noteflight editor. importScore.png. For a more in-depth explanation on ...
  56. [56]
    Verovio | Music notation engraving library for MEI with MusicXML ...
    September 09, 2025 – Version 5.6 released. The changes introduced in release 5.6 are mostly small fixes and improvements, particularly in the timemap and ...MusicXML Converter · Reference book · NewsMissing: 4.0 2022 3.3.0 compressed file
  57. [57]
    Export a score from Logic Pro for Mac as MusicXML - Apple Support
    In Logic Pro for Mac, export a score project as MusicXML, an XML-based music notation file type.
  58. [58]
    MusicXML Files in REAPER - YouTube
    Oct 9, 2018 · MusicXML Files in REAPER. 17K views · 7 years ago ...more. REAPER Mania. 181K. Subscribe. 402. Share. Save.Missing: Logic Pro Ableton Live
  59. [59]
    MaxScore for Max and Ableton Live – Music Notation for Max and ...
    MaxScore is a leading application for graphical and microtonal notation. It gives the opportunity to integrate graphics and it is designed to represent pitch ...<|separator|>
  60. [60]
    grame-cncm/libmusicxml: A C/C++ library to support the ... - GitHub
    The MusicXML library is a portable C++ library designed close to the MusicXML format and intended to facilitate MusicXML support.Missing: music21 VexFlow
  61. [61]
    VexFlow - HTML5 Music Engraving
    VexFlow is an open-source online music notation rendering API. It is written completely in JavaScript, and runs right in the browser.Tests · VexTab Tutorial · VexTab · JavaScript Music Notation and...Missing: libmusicxml music21
  62. [62]
    Musescore export to .musicXML
    Sep 3, 2019 · MuseScore can export standard notation music as MusicXML, but (apparently) not tablature notation. Or maybe it can export it but not import, not ...
  63. [63]
  64. [64]
    Impro-Visor download | SourceForge.net
    Rating 4.9 (28) · FreeImpro-Visor is a music notation tool for producing monophonic lead sheets, specifically intended to help the improviser.
  65. [65]
    Music scores in braille - MuseScore
    Sep 28, 2021 · MuseScore can produce MusicXML via File / Export, and we've actually gone to some trouble to make our MusicXML export as Braille-friendly as we ...Missing: BML | Show results with:BML
  66. [66]
    PDMX: A Large-Scale Public Domain MusicXML Dataset ... - Zenodo
    Sep 15, 2024 · We introduce PDMX: a Public Domain MusicXML dataset for symbolic music processing. Refer to our paper for more information, and our GitHub ...
  67. [67]
    AnthemScore - Automatic Music Transcription Software
    AnthemScore is software for automatic music transcription using AI. Convert audio files like MP3 and WAV into sheet music. No subscription required.Download · Purchase · Getting Started · FAQMissing: information retrieval datasets
  68. [68]
    Lessons from the Adoption of MusicXML as an Interchange Standard
    MusicXML overcame these technical and social problems to become the first successful interchange standard designed for music notation applications.
  69. [69]
    Notation Basics in MusicXML - W3C on GitHub
    MusicXML symbolic note types range from 256th notes to long notes: 256th, 128th, 64th, 32nd, 16th, eighth, quarter, half, whole, breve, and long. The type ...