GNU LilyPond is a computer program and file format for music engraving. One of LilyPond's major goals is to produce scores that are engraved with traditional layout rules, reflecting the era when scores were engraved by hand.
LilyPond is cross-platform, and is available for several common operating systems; released under the terms of the GNU General Public License, LilyPond is free software.
LilyPond came about when two musicians wanted to go beyond the soulless look of computer-printed sheet music. Musicians prefer reading beautiful music, so why couldn’t programmers write software to produce elegant printed parts?
The result is a system which frees musicians from the details of layout, allowing them to focus on making music. LilyPond works with them to create publication-quality parts, crafted in the best traditions of classical music engraving.
Excellent classical engraving.
LilyPond allows musicians to produce elegant sheet music that is easy to read. Its developer community has spent thousands of hours developing powerful music engraving software that results in beautifully engraved music. All of LilyPond’s style settings, font designs and algorithms have been inspired by the finest hand-engraved music. LilyPond output has the same strong, balanced and elegant look as the best-engraved classical scores. This is further explained in our Essay.
Effective layout choices.
Spend less time with tweaking the output; LilyPond gets the formatting correct right from the start. It determines spacing by itself, and breaks lines and pages to provide a tight and uniform layout. Clashes between lyrics, notes, and chords are resolved and slurs and beams are sloped, automatically!
Ease of use.
LilyPond takes ASCII input, which you can produce in your favorite text editor, quickly and comfortably. The input contains all the information, so there is no need to remember complex command sequences: simply save a file for later reference.
Mix music and text.
Put fragments of music into texts without cutting and pasting pictures. Integrate music into LaTeX or HTML seamlessly, or add music to OpenOffice.org with OOoLilyPond. Plugins are also available to allow LilyPond code in various blogs and wikis, making online collaboration possible.
Text-based input also makes score-writing possible for users with severe physical disabilities. Dexterity-impaired users who are unable to type or control a computer mouse can use speech-recognition software to edit LilyPond files. Even users who are totally blind can use screen-reading software to write LilyPond files – an impossible task in graphical-based score-writing programs.
All settings can be changed to suit your personal typographical taste. If that still is not enough, there is always the built-in scripting language Scheme, a dialect of the powerful language LISP. Settings, variables and functions are all documented in the comprehensive program reference manual.
LilyPond can be downloaded free of charge! Yep - It’s free. Get it from the download page.
It’s also free (as in “speech”) software. It comes with source code, and permission to change and copy it. So, are you irritated by a bug, or yearning for a feature? Simply add it yourself, or pay someone else to do it.
LilyPond runs on all popular platforms: GNU/Linux, MacOS X, and Windows. LilyPond comes with extensive documentation and hundreds of example files. There is an active user community answering questions on the lilypond-user mailing list, while the development team makes sure that problems are solved quickly.
Several developers, themselves active LilyPond users, have also written tools specifically aimed at making the process of editing LilyPond files faster and more effective. For some examples, see Easier editing.
This organ work by J.S. Bach is a fairly typical engraving project in LilyPond.
This example from Goyescas by Enrique Granados shows some of the more advanced features of typesetting, including kneed beams, cross-staff stems, and voice-follow lines.
LilyPond also supports various types of ancient notation, such as this passage of Gregorian chant.
Contemporary composers find LilyPond well-suited to displaying unusual notation. Here is an excerpt from Trevor Bača’s Čáry, for unaccompanied bass flute.
Efficient, flexible creation of performance materials.
Various performance materials can be created from the same source code. This is an excerpt of Nicolas Sceaux’s engraving of Handel’s Giulio Cesare, in full score, piano-vocal reduction, and a violin part.
LilyPond supports tablature notation, which can be customized to suit any instrument that reads from tablature. The tablature staff is generated automatically from notes entered for the 5-line staff.
Standard output can be modified heavily. Here is an impressive Schenkerian analysis, created by Kris Schaffer, for an article in Linux Journal. The colors have been added for better visibility.
LilyPond is excellent for vocal music of all kinds, from sacred hymns to opera. Here is a medieval motet with slightly unusual requirements. The tenor voice is written in a different meter than the others, but must line up as if it were in the same meter. LilyPond handles this most elegantly. Note also the incipits with Vaticana style clefs, the slashed stems indicating plicated notes, and the ligature braces above certain groups of notes.
LilyPond is perfectly suited for educational purposes as well. Here is an example of a simple counterpoint exercise.
It is simple to create pop lead sheets with melody, lyrics, chord names, and fretboards. In this example you see some of the predefined fretboard diagrams, but these can be heavily customized to suit nearly any situation.
LilyPond is excellent for large projects like operas or works for full symphony orchestra, as well. In addition, the text-based input provides greater accessibility – this example was contributed by Hu Haipeng, a blind composer.