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.
Everything is explicit
LilyPond processes text input, which contains all information about the content of your score and can easily be read by any human or another program. There are no obscure settings hidden behind menu items and binary file storage.
Read more about this concept on Text input.
Tweaks are robust and traceable
If you have to change anything in the layout this tweak will also be explicitly visible in the input file in human-readable form, so you will always be able to retrace what you’ve done. If you should accidentally break anything you can easily revert or modify any decision without being at the mercy of an Undo function.
Text files are failure- and future-proof
Text files are very robust against file corruption. And as they are human-readable, you will always be able to interpret them even if you don’t have access to the programs that created them.
Manage your scores with version control
Text files are applicable to be managed by version control. Go for it and experience infinite and selective undo/redo mechanisms and the full development history of your scores. Version control may also open up new (collaborative) workflows for you.
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!
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 and LibreOffice 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. You can see a spectacular score on Examples.
Several developers, themselves active LilyPond users, have written tools specifically aimed at making the process of editing LilyPond files faster and more effective; you are not tied to a single user interface but can use different tools for different tasks. You can even use a full-fledged LilyPond editor at home and use your mobile phone’s notepad app to edit the files on the go. For some examples, see Easier editing.
Easy management of style sheets
All layout settings can be changed to suit your personal typographical taste. So you can easily write style sheets that change every aspect of LilyPond scores’ default appearance. As these are also written as text and can be stored in separate files you can simply switch between two stylesheets to produce scores with a completely different appearance or layout. You want to print a score on A4 paper and project it with a beamer, one system per page? LilyPond’s layout engine will effortlessly produce both from the same input.
Add your own functions
If that still is not enough, there is always the built-in scripting language Scheme, which can access LilyPond’s layout engine at the same level as LilyPond itself does, making it a very powerful tool. Settings, variables and functions are all documented in the comprehensive program reference manual.
Process scores programmatically
LilyPond input files can fully be edited or even generated by programs and scripts. This can for example be used for algorithmical composition. But you can also access the musical content for analysis, or manage input fragments in a database. There are no limitations except your imagination.
Create new tools using LilyPond
As LilyPond isn’t a monolithic GUI program but a command line tool it can be used from within other applications too. This way it is possible to equip tools like, e.g., web applications with LilyPond’s engraving power. There already exist several online tools using LilyPond.
LilyPond runs on all popular platforms: GNU/Linux, macOS, 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, offering you friendly help. The response time is usually very short, and often brillant solutions to reported problems are developed. Thanks to the close interaction with the development team such solutions are regularly included in LilyPond itself. Read more in Community.
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. Read more on Freedom.
Still not convinced? Look at some specific Examples. If you’ve already decided to try LilyPond, first read about our Text input.