Meet LilyPond, a free music engraving program that is part of the GNU Project

LilyPond scores beautiful music

Sheet music with geometry graphic
Image credits : 

Photo by Jen Wike Huger

LilyPond is a free, mature music-typesetting program, similar in flavor to LaTeX. The software is part of the GNU Project and is released under the GNU General Public License (GPL). The authors originally developed LilyPond because they felt that computer-generated scores were, to their eyes, "soulless." They designed LilyPond to follow the traditions laid down in older engraved scores. The desire for "beautiful" music is what drives the community of people who still work on LilyPond, even after more than a decade.

Version 2.19.36 was released at the end of January, but 2.18 is still considered the stable version. Downloading and installing LilyPond is super easy.

Syntax errors? Well, yes. LilyPond does not come equipped with a GUI. A number of music-scoring programs can generate LilyPond input files, but the focus of the project is and always has been on the output, the final score. If you want to test just LilyPond, you're going to be hand-hacking a text file that, frankly, is a little bit arcane. That said, in about an hour, I converted a small sample score that I did some years ago with MuseScore into LilyPond, and the output results were really impressive. I spent that hour surfing around the outstanding online documentation, figuring out the formatting commands I would need to make things lay out the way I wanted them, and here's the output, a small choral piece:

LilyPond humorous score

You can exercise very fine control over the placement of elements on the score. For instance, I could have shifted the dynamic "ppp" or "molto espressivo" to the right or left, or above or even below the staves, with fairly simple formatting commands. In this case, I kept default behaviors everywhere, and things just worked. The system also has engraving tools for shape-note music, guitar tabulature, drum compositions, Gregorian chants, and many more. It's incredibly feature-rich, and every bit of it is thorougly documented with examples.

In my opinion, one functional advantage of LilyPond over MuseScore, which I have used in the past, is that it can be used even for a small snippet of music. MuseScore, by comparison, expects to be used for an entire work, a whole song. With LilyPond, you can write a small snippet of code, like this:

\relative c'' {
  \key g \major
  \time 6/8
  d4 b8 c4 a8 | d4 b8 g4
}

then compile the PDF with LilyPond, which can then be converted to an image, which you can easily include in a document or presentation. If you're working in LaTeX or HTML (or a couple of other formats), there's even a script included in LilyPond, called lilypond-book, that can automate that process for you.

The lack of a frontend might be off-putting to some users, but the LilyPond team has assembled a list of front-end programs that can be used to make editing easier. A user could use, for instance, Encore, MuseScore or NtEd, and then hand-modify the LilyPond code to fine-tune the final layout of their score. Some users actually do report that, once they learn the format, they can enter notes fairly rapidly using just a text editor.

Music teachers, arrangers, composers, band, and orchestra leaders could use LilyPond to help fill their lives with beautiful music.

About the author

D Ruth Bavousett
Ruth Holloway - Ruth Holloway has been a system administrator and software developer for a long, long time, getting her professional start on a VAX 11/780, way back when. She spent a lot of her career (so far) serving the technology needs of libraries, and has been a contributor since 2008 to the Koha open source library automation suite.Ruth is currently a Perl Developer at cPanel in Houston, and also serves as chief of staff for an obnoxious cat.