Original author(s) | Bertrand Bordage, Ian Hulin, Reinhold Kainhofer, Joe Neeman, Neil Puttock, Mike Solomon, Nicolas Sceaux, et. al. |
---|---|
Developer(s) | David Kastrup, Werner Lemberg, Han-Wen Nienhuys, Jan Nieuwenhuizen, Carl Sorensen, Janek Warchoł, et. al. |
Initial release | 1996 |
Stable release | 2.18.2 (March 17, 2014 | )
Preview release | 2.19.56 (February 26, 2017 | )
Repository | git |
Development status | Active |
Written in | C++, Scheme, Metafont, PostScript, Python |
Operating system |
|
Size | 20–100 MB |
Standard(s) | EPS, MIDI, MusicXML, PDF, PS, SVG |
Available in | English, Catalan, Dutch, French, German, Hungarian, Italian, Japanese, Spanish |
Type | Music software, scorewriter |
License | GPLv3 |
Website | lilypond |
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.
The LilyPond project was started in 1996 by Han-Wen Nienhuys and Jan Nieuwenhuizen, after they decided to abandon work on MPP (MusiXTeX PreProcessor), a project they began collaborating on in 1995. Its name was inspired both by the Rosegarden project and an acquaintance of Nienhuys and Nieuwenhuizen named Suzanne, a name that means lily in Hebrew (שׁוּשָׁן).
LilyPond 1.0 was released on July 31, 1998, highlighting the development of a custom music font, Feta, and the complete separation of LilyPond from MusiXTeX.
LilyPond 2.0 was released on September 24, 2003, announcing a simplified syntax model and a much more complete set of facilities for notating various styles of music.
LilyPond is mostly written in C++ and uses Scheme (interpreted by GNU Guile) as its extension language, allowing for user customization. It has a relatively large codebase; as of March 21, 2015, the source comprises over 600,000 lines of C++ and 120,000 lines of Scheme and Python code.
It uses a simple text notation for music input, which LilyPond interprets and processes in a series of stages. In the final stage, music notation is output to PDF (via PostScript) or other graphical formats, such as SVG or PNG. LilyPond also has the facility to generate MIDI files that correspond to the music notation output.