Introduction to MusicXML

Many people have recognized the possible benefits of using XML for music representation [1, 2, 7]. Similarly, many efforts have been made over the years to come up with a higher-level interchange format for music notation than is provided by Standard MIDI Files [12, 16]. MusicXML combines these two trends, using XML technology to develop a new interchange standard for music notation.

MusicXML has been developed from a commercial perspective as opposed to a research perspective. Recordare’s business model is founded on the commercial opportunities enabled by a standardized, Internet-friendly format for symbolic musical data. We needed to quickly demonstrate the viability of an interchange standard in the context of commercial musical applications. Our major technical risk was that we would develop yet another interchange format that could not or would not be adopted by the market leaders in music application software.

MusicXML Design Techniques

Previous efforts at music interchange standards have tended to fail in one of two ways. In the case of SMDL [14], the design goal was overly ambitious, leading to an overly complex language with very few implementations. In the case of NIFF [6], the design goal was insufficiently general. The graphics-oriented focus of the language made it adequate for scanners and notation programs with graphics-oriented formats. Sequencers, databases, and notation programs with more underlying awareness of musical semantics were ill-served by the graphical focus. A critical mass of application support never developed.

From our industrial perspective, we looked to MIDI and HTML as exemplars for developing a new music interchange standard. MIDI and HTML are both powerful enough to solve a good variety of industrial-strength problems. On the other hand, they are simple enough to learn and implement so that people can learn the basics easily, smoothly adding additional features over time.

XML 1.0 shares these dual characteristics of power and simplicity. XML’s widespread adoption throughout the information technology industry allows music software to make use of the technology investments made by much larger industries.

Several techniques were used to develop a usable, useful, powerful interchange standard:

  • The initial design of MusicXML was based on two of the most powerful music representation formats from academic research: MuseData [9] and Humdrum [10].
  • The design and implementation of MusicXML was done iteratively, using an evolutionary delivery approach [4]. This ensured that the design elements were both implementable and useful across applications.
  • Initial implementations focus on the market and technical leaders for major music applications, such as Finale and SharpEye Music Reader. By working with the most fully-featured products in their market areas, we could be confident that we were creating an industrial strength interchange language vs. a research prototype.

MusicXML Application Support

MusicXML’s success is apparent from its quick adoption compared to any symbolic music interchange format since MIDI. Figure 1 shows the software products and projects supporting MusicXML as of July 2002 [11].

Figure 1 - MusicXML interchange diagram

Figure 1: MusicXML Support as of July 2002

Finale 2003, SharpEye Music Reader, and TaBazar are all shipping with MusicXML support on Windows. Recordare’s Dolet software supports MuseData and Finale 2000 to 2003. Finale 2003 can import SCORE files, allowing a two-step conversion into MusicXML. MusicXML files imported into Finale can be printed to the FreeHand MusicPad Pro electronic music stand, providing a new electronic format for MusicXML scores.

Project XEMO has demonstrated a Java-based MusicXML Notation Viewer, currently in alpha test, running on Windows, Macintosh OS X, Linux, and Solaris systems. Middle C Software has announced support for MusicXML in their future scanning software products. NoteHeads has announced plans to import MusicXML files in version 1.7 of their Igor Engraver notation product. The KGuitar open-source guitarist environment for Linux, FreeBSD, and Solaris systems added MusicXML support in version 0.4.1. The NIFF and MIDI converters have been developed as internal prototypes at Recordare.

MusicXML’s successful adoption contrasts not only with past interchange languages, but also with other XML formats for symbolic music representation proposed in the past several years. Most of these formats cannot represent the full range of music possible in MusicXML. None has any commercial product support as of July 2002, much less support from music software industry leaders.


This website uses cookies to improve your experience. By viewing or browsing our site, you are agreeing to our use of cookies. More Information