We’re delighted to share a Q&A with Michael Good, creator of MusicXML. Here’s what he said:
How did MusicXML come about and how did it solve the gap in the market for music scanning?
I started developing MusicXML in 2000 when digital sheet music downloads were just beginning to get started with companies like Sunhawk. But all you could do with those downloads was print them once, or play them online in the company’s own player. It was obvious to me that we needed something like MIDI, HTML, or MP3 for music notation – a standard format that could be shared among all the different music notation applications.
Music scanning was the application that really helped MusicXML get widely adopted. Back then you had two main scanning products: SmartScore worked with Finale, and PhotoScore worked with Sibelius. Then a new program came out, SharpEye Music Reader, which was more accurate than either of them. But once you exported to MIDI to transfer to Finale or Sibelius, you lost the notation details that made SharpEye recognition work so much better.
I had built a MusicXML plug-in for Finale, so I contacted Graham Jones at SharpEye and convinced him to add MusicXML export. Once he did, the Finale team saw that MusicXML support would give them access to better music scanning than Sibelius had. That led to MusicXML support being added to Finale 2003 for Windows, with Mac support following in Finale 2006.
Things really grew from that point, especially once we were able to export MusicXML from Sibelius as well as Finale’s import and export. Now we have over 260 apps supporting MusicXML, including PlayScore 2.
How does MusicXML benefit music scanning apps like PlayScore 2?
Back in the old days, scanning programs only worked decently with one specific notation product (SmartScore with Finale, PhotoScore with Sibelius, capella-scan with capella). Nowadays a program like PlayScore 2 can work well with any notation program that a customer wants. That makes the market bigger for apps like PlayScore 2, leading to more sales that can be invested in improving the product further.
We recommend PlayScore users to export their files as MusicXML. What advantages does MusicXML have compared to MIDI?
MIDI was made for connecting musical instruments together. It’s a tribute to MIDI’s flexibility that it was able to be used for sheet music at all. But MIDI was not designed for that. It doesn’t know the difference between a G-sharp and an A-flat. It doesn’t know about rests or tuplets or accents or staccatos or slurs or piano staves or tablature or so many other aspects of music notation. Programs that import MIDI files have to guess about all that. In MusicXML, everything about music notation is specified directly in the format. There’s no guessing involved, so music notation transfers much more accurately into other programs.
Congratulations on the latest MusicXML 4.0 release! Can you tell us about some of the key features and how they help PlayScore 2?
Thanks! The big new features in MusicXML 4.0 are:
I would guess that concert scores with transposed parts could be one of the more important ones for PlayScore 2, as well as swing playback.
The other big new thing for MusicXML 4.0 is that it is now fully documented with lots of examples on the W3C site (https://www.w3.org/2021/06/musicxml40/). This might be the most important one for PlayScore 2 developers! It should now be easier for them to answer their MusicXML questions, making it easier to improve the MusicXML export.
Tell us about some more unusual uses of MusicXML
Some of the more unusual MusicXML apps are:
I haven’t tried any of these programs myself, but their descriptions excite me with their creativity and exploration. They show that MusicXML can do other things besides displaying, playing, analyzing, and listening to common Western music notation.
How do you see the future of MusicXML developing?
MusicXML 4.0 is pretty mature technology now that it’s over 21 years old, but there are always things it could do better. We keep an open issues list at the W3C Music Notation Community Group. When we collect enough new issues, we may do another release.
However, there are things though that we can’t really add to MusicXML because it wasn’t designed for that. In particular, MusicXML was developed to exchange music notation between apps. Nowadays, more and more developers are looking for a standard format to use for their own music notation web apps. The W3C Music Notation Community Group is developing a new format, code named MNX, to address these uses that go beyond what MusicXML was designed to do. With any technology, once you think “that’s it, we’re done,” that’s when you start getting obsolete. We don’t want to make that mistake with MusicXML.
Thank you Michael for taking part in our Q&A!