Open Source Strategy

Towards Software for Alternative Music Notations

What follows is a strategy for creating a basic “transnotator application” for alternative music notations with minimal effort and expense while also providing an optimum set of features and benefits. The aim is to allow for automated transnotation (translation) of music from traditional notation into various alternative notation systems. This approach was outlined in a paper presented at the 2003 MNMA conference by Paul Morris, and what follows is based on that paper. See Software for more about our work in this area.

 

Recent Developments in Music Notation Software

Relatively recent developments in music notation software have made it much more feasible to create a transnotation application that is accessible and useful to a wide number of people.

MusicXML

There has finally emerged a successful standard interchange file format for music notation called MusicXML. MusicXML files can be read or written by a large number of music applications that run on a wide variety of computer platforms, including the two most popular commercial music notation applications, Finale and Sibelius.

Open-Source Applications

There are now several open-source music notation applications that are free to download and use (for example: LilyPond, Canorus, MuseScore). Because they are open-source, their source code is also freely accessible and could be adapted and expanded to visually render music in alternative notations as well as traditional notation. By beginning with existing software rather than starting from scratch, a great deal of programming effort could be saved.

The Internet and Online Music Libraries

The internet is an excellent distribution channel, providing people all over the world with the means to download and use such a transnotation application. It also provides access to growing libraries of sheet music that is freely available for download in electronic file formats such as MusicXML, for example: Mutopia Project, Gutenberg Sheet Music Project, Wikifonia, International Music Score Library Project (IMSLP).

 

Transnotation and Music Notation File Formats

Since the actual music stored in a computer notation file is the same whether it is displayed in traditional notation or an alternative notation (an F# is an F# in any notation), there is no need for a separate file, or file format for alternative notations. Transnotation does not require changing the content of the file, but only how that content is displayed. Transnotation turns out to be a task of re-presentation. So what is needed is an application that merely displays existing traditional music notation files (such as MusicXML files) in alternative notation systems.

Music File Format Diagram

MusicXML

Soon after its introduction in the spring of 2002, MusicXML became by far the most successful and widely adopted interchange file format for music notation. See the MusicXML web site for an up to date list of all the applications and file formats that work with MusicXML. Building a transnotation application that works with this standard file format would ensure that it would be usable by the most people. It would also be effectively leveraging the functionality (editing, scanning, etc.) of other software for use with alternative notations. This would open up many sources of music for transnotation into alternative notations.

 
Software Conversion Flow Diagram

Open Source Music Notation Viewer Applications

Displaying music in all of its complex variations on a computer is not a trivial task. This is why it makes sense to adapt and extend an existing open-source software application where much of the work has already been done rather than starting from scratch. The majority of such an application could be re-used, more or less as-is, including:

  • The user interface.
  • The part of the application that reads files (the parser).
  • Most of the output code, including code for proper spacing between various elements on the staff. This includes on-screen output, output to printers, and output to graphical file formats such as PDF or Postscript.

By modifying part of the output code so that it displays music in alternative notations it would be possible to leverage the rest of the functionality that already exists in the application. Of course, there is a good deal of effort involved in learning how an existing application works in order to be able to modify it, but given the amount of effort that would be saved, this still seems to be a preferable strategy. One way around this difficulty would be to work with or hire the programmers who developed the application and know it inside-out.

 

LilyPond

Currently, LilyPond is probably the most promising open-source application that could be adapted to display and print music in alternative music notation systems. Some work toward adding this functionality has already begun. For more information see LilyPond and Alternative Music Notations.

LilyPond can now import MusicXML files, and the Mutopia Project offers an online library of music freely available in its native LilyPond file format. Importing MusicXML files adds a trivial step to the transnotation process.

Another open-source music notation viewer application is the GUIDO Noteserver, but it is much less actively developed than LilyPond.

 

Links to Related Sites

LilyPond

Applications that work with, or export to LilyPond:

 

MusicXML

XML
Open-Source

Unicode
Chart showing unicode music symbols

GUIDO: GUIDO File Format, GUIDO NoteServer & NoteViewer, GUIDOLib
MusicXML to GUIDO converters: MusicXML Library, pyScore
Other applications that work with GUIDO: NoteAbility Pro, NoteAbility Lite, NoteWriter

An exhaustive index of music notation file formats, among other things music-notational, maintained by Gerd Castan: http://www.music-notation.info

Stuart Cunningham’s MS thesis “Music File Formats and Project XEMO” An excellent discussion of Project Xemo, MusicXML, NIFF etc.