August 7, 2007

Editing music scores with free software

Author: Alex Roitman

Not everyone needs to work with music scores on their computers, but if you're someone who does enter, edit, or store sheet music electronically, you can choose among many free software options.


LilyPond, a command-line-based program, is the simplest and clearest way of managing your music. You work with LilyPond in two stages. First you describe (in a text file) what music you want to engrave, using note names, their durations, and various commands. Then you run the lilypond command on the file you created to produce a PDF file with your music. The process is similar to editing a program's code and then compiling it into executable form. You can use any text editor to create or modify the text file. Some editors, such as Emacs, offer syntax highlighting and context-specific options when working with the LilyPond files.

LilyPond is available in most distributions. It is a stable and mature application that produces beautiful output, optimizing the layout to look as close as possible to manual music engraving. Check out the excellent tutorial to learn the syntax and typeset your music.


NoteEdit is a graphical application based on KDE libraries. It allows you to enter music by selecting note durations from a toolbar and pitch by clicking on the appropriate location on a staff. You can then add various marks (alteration, ties, articulations) and control some aspects of the appearance (such as spacing, separation into voices, and non-musical notations), all in a graphical manner. NoteEdit comes packaged with a handbook that is also available online.

In addition to the manual point-and-click operation, NoteEdit can utilize the MIDI keyboard -- an electronic piano keyboard that supports MIDI interface. It lets you enter notes by pressing corresponding keys on the keyboard. That way, you just play the music on the piano keyboard and NoteEdit records it as the music score. You can also listen to what you have entered through your MIDI keyboard.

For printed output, NoteEdit utilizes an external typesetting program -- you can use LilyPond, ABC music (abcm2ps), MusiXTeX, and PMX. This means you can always export to LilyPond format and get excellent print output quality. The LilyPond export is also available in all the graphical programs described below. Unfortunately, NoteEdit doesn't support import of LilyPond files.

Development of NoteEdit has stopped, and only minor bugfixes are being made. The core development effort has moved to a new application called Canorus, which at version 0.3.1 is still unstable.


Rosegarden is more than just a music editor -- it is a complete audio and MIDI sequencer that can be used to professionally mix multiple tracks synthesized on different electronic instruments. A score editor is an integral part of the program. Like NoteEdit, Rosegarden was written using the KDE libraries.

Rosegarden offers music entering facilities similar to those available in NoteEdit; if your goal is just entering a score then you will see little difference between NoteEdit and the score editor of Rosegarden. But if you want to synthesize your music and mix several tracks, stick with Rosegarden. Conveniently, Rosegarden can import the music created in NoteEdit, and vice versa, via the MusicXML format.

Rosegarden also supports the matrix editing mode that's standard for audio sequencers and synthesizers. It works by combining the piano keyboard image on the vertical axis and the timeline on the horizontal axis into a pitch-duration grid. Clicking in the cells of the grid marks the sound pitch and the duration. You can later edit music entered in this way in the score editor, and vice versa, so you can use whichever tool is more convenient for you for a particular music segment. No matter how you enter it, you can save and later print your score, either directly from Rosegarden or by exporting it into LilyPond format and running LilyPond on the file.

You can utilize the capabilities of Rosegarden to play back an existing score on any instrument that your system supports. To do that, you'll have to run the JACK audio server and have either a hardware MIDI device or a software synthesizer (or both) to turn MIDI output into sound. Consult the help page to sort out the details for your particular setup.


Denemo is another graphical score editor, but unlike NoteEdit and Rosegarden, it uses the GTK+ libraries that are the components of the GNOME desktop. This application focuses on providing a nice front end to LilyPond. The user interface is convenient and intuitive, even to a new user.

In addition to letting you edit a score, Denemo features audio playback. It supports both MIDI-based playback and Csound output. In Csound mode, Denemo creates an orchestra file in Csound language on the fly and lets Csound play it. Read the manual to learn more about advanced features of Denemo. It is a rapidly developed and promising program.

Other applications

There are more music editors than I can describe in this article. For instance, Songwrite is a guitar tablature editor that also has score editing abilities. It uses the older Tk user interface and appears a bit clunky, but the developers have said its next major version will use the modern GTK+ toolkit.


Free software offers a diverse and mature set of applications for editing music scores, catering to different needs and habits. While Rosegarden offers sophisticated mixing and sequencing capabilities, it may be too much for a new user trying to perform a simple score editing task. NoteEdit may serve KDE users the best, while the GNOME crowd may want to stick with Denemo. Users of all these programs will benefit from the LilyPond engraving quality, as most of the applications use LilyPond as the rendering back end. A gaping hole in all applications, however, is the lack of the LilyPond import support.


  • Graphics & Multimedia
  • Free Software
  • Entertainment
Click Here!