SmartMusic Finale Garritan MusicXML

Freedom of Choice for Music Software Developers

One limitation to developing music software has been the tight coupling of music formats to development tools. For instance, Finale plug-ins require C or C++ programming, the Humdrum toolkit requires familiarity with Unix, and MuseData tools run on TenX, a non-standard DOS environment. The tight coupling of programming environment to data representation has limited the freedom and productivity of music software developers.

The promise of XML is that with the widespread availability of XML tools, MusicXML programmers can choose from a much wider range of development tools. We were delighted to see the promise become a reality during the MusicXML alpha test, where programmers developed MusicXML programs in many different environments, including:

  • Visual Basic using the MSXML parser on Windows (Recordare)
  • Java using the Xerces parser on Linux, Macintosh OS X, and Windows (Xemus and individual developers)
  • C using no parser on Windows (Visiv)

The ability to use rapid application development tools like Visual Basic to work with MusicXML makes it possible to build analysis programs using much more common development skills than the Unix expertise required for Humdrum. Good [Good 2001] illustrates this with some sample visual analysis programs that were written in half a day with Visual Basic, ActiveX controls, and MusicXML.