I'm looking for a Lilypond templating or content management system that would allow for real, actual separation of music data from presentation.

Even better would be separation of music and lyrics.

What I am imagining:

  • Music data in one file
  • Several .ly templates, with {{replacement tags}} where music content should go
  • A command-line utility that allows me to pair music data with a particular layout, like:
    • engrave songname.music lettersizetemplate.ly outputname.ly
  • It would be even more awesome if it could pair texts and tunes:
    • engrave amazing-grace.lyrics NEW-BRITAIN.tune hymnalsize.ly amazing-grace.ly

That is my ideal, but something nearing it would be great.

I have seen someone build this from scratch in PHP for a web application, with a UI and everything. I don't need a UI (though I wouldn't mind one).

I feel like this must exist already, but doing Google searches for things like "Lilypond templating system" hasn't revealed much.

Perhaps this sort of thing can already be done in Lilypond? Perhaps someone has built it already?

If it does not exist, any thoughts on how to go about building one. I can sort of imagine doing it with something like Embedded Ruby or another templating system.

  • This is a cool idea, and I am not aware of one. This smells kinda like a software recommendation, but what you're asking for is not opinion based or directly for software, so I'm not voting to close.
    – Josiah
    Aug 8, 2015 at 20:16

3 Answers 3


I'm also not aware of anything like this, yet. OrchestralLily has been around for a bit and presents some template-type automation, but I haven't played with it much.

The docs for the development version (2.19) have this information about a couple of built-in templates for vocal ensembles. One could probably work out the beginnings of a framework from looking at how those templates are set-up.


This does not exist, to my knowledge. Right now Lilypond is more like TeX as originally created; but no one has yet come along to create the equivalent of LaTeX for it. LaTeX provided a robust template system for TeX that made it usable for a wider range of users and made it possible to separate content from presentation. Likewise, though there are some attempts like the Lilypond snippet library, no one has yet created a distribution or package system similar to TeXLive through which many people could contribute templates in a standardized way.


This may be way off the mark, but:

Lilypond is one thing, and MusicXML is another. MusicXML has broad support and adoption, and it seems to be a format that could work with your ideas. MusicXML is now transitioning into a W3C standard. Are you aware that there is a newly-created W3C Music Notation Community Group?

The goals are to evolve the specifications to handle new use cases and technologies, including greater use of music notation on the web

You might want to keep an eye on them.

  • 1
    Unlike Lilypond input, MusicXML is (for all practical purposes) impossible for humans to generate by hand. So I don't see its relevance to the OP's question.
    – user19146
    Aug 10, 2015 at 21:04
  • It would be a nice idea if MusicXML was a more reasonable (human readable) standard. But it's really just a data-transport language, not an authoring language. Aug 11, 2015 at 22:32
  • Good points. I know this isn't a proper answer. I posted this because I'm curious about what the W3C Music Notation Community might develop in the future with regard to enabling working with sheet music on the web, which is related to the question.
    – user1044
    Aug 11, 2015 at 22:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.