My ex-wife is a musician and a music teacher, and (especially for her teaching job) ends up writing a fair bit of sheet music. She used one of the point-and-click scorewriters for a while (Sibelius maybe?) and was thorough displeased with both the output quality and the editing process itself. After some poking and prodding, and getting her to overcome the "but it's writing code!" barrier, she fell in love with how productive it is and still uses it, some 15 years later. It was pretty interesting to see somebody with no exposure to the software world develop their own habits and code style.
This deep care is documented in the "Essay on automated music engraving" in the Lilypond docs:
http://lilypond.org/doc/v2.23/Documentation/essay-big-page.h...
Previously discussed (I guess -- different title and dead link):
One of the problems she has is versioning, and it's pretty obvious that something like LilyPond + source control would be a massive benefit to her for managing the creative process, as pieces are rehearsed and modified/corrected it turns into a versioning problem with various performers unsure which copy of the piece they are working from.
I should really look into this, especially what printing support looks like (she typically prints double sided on A3 so that it folds correctly into a music folder), and what support for playback looks like.
It's a pretty cool project, I really have been meaning to investigate it, so maybe it's time to pull down a copy and kick the tyres.
Basically, Lilypond has like a zillion different output formats and page sizes:
https://lilypond.org/doc/v2.22/Documentation/notation/paper-...
...then you can take one or more *.pdf as a linear set of sheets and run it through some imposition (booklet) tooling.
https://stackoverflow.com/questions/465271/gluing-imposition...
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
https://pypi.org/project/pdfimpose/
It wouldn't be terribly hard to whip up a Makefile and/or a few shell scripts which would "do the right thing" 99.9% of the time.
eg:
build.sh => make && xdg-open ./output.pdf
commit.sh => git add -u * && git commit -m '$DATE' && git push origin
add-new-files.sh => git add * && git commit -m '$DATE - new files' && git push origin || notify-send "HEELLLPP!"
booklet.sh => make && pdfimpose $OPTIONS ./output.pdf -o booklet.pdf && xdg-open ./booklet.pdf
Good Luck, Have Fun! :-)
What she has found much more approachable is MuseScore (https://musescore.org/). I haven't done a careful comparison of the output to see which scores better [sorry!], but it's certainly adequate for her everyday needs, and with a cheap midi keyboard as input device, it was remarkably easy to get started.
The focus of musescore has changed over the past year or two, all triggered by a funny youtube sh*tpost criticizing its UI (it was one series of such videos taking shots at all the big notation programs).
https://www.youtube.com/watch?v=4hZxo96x48A
The guy who created it is a trifecta: a composer, a typographer, and UI expert. The team at musescore took the criticism in good humor, and hired the creator of the video (Tantacrul, aka Martin Keary) to help them change it. The first phase was getting rid of some low-hanging fruit in the UI department. That work is ongoing.
The main focus of the next phase (musescore 4.0) is the quality of the layout. Some of those improvements already landed in musescore 3.6.
tldr; Lilypond needs to compile a perfect engraving. If it does then you get a great looking score for the least effort. If it doesn't then you'll likely eat all your time tweaking. This makes it good for single instrument parts, not so good for more complex scores.
It's at least an order of magnitude more difficult to tweak anything in Lilypond than it is with a WYSIWYG editor.
Moreover, with WYSIWYG you can take a 30 minute class offered by an expert who will show you how to change the defaults to get a decent-looking score. Even moreover, that expert could literally sit in front of your laptop and drag an indication to a better spot to teach you something about whitespace/alignment/etc.
If you can figure out how to make a small tweak to a Lilypond score in less than 10 minutes you're doing well. And you'll probably have to recompile at least twice since you'll estimate the distance of the tweak wrong, especially if you're a new user. For each tweak.
Oh, and recompilation time scales with score length. Good luck changing the position of an indication in the last bar right before a deadline. I think I'd rather track down an XHTML error in a tax form than do that.
this illustrates two different approaches (goals? paths?) about software in society:
on the one hand: the lilypond way -- the old-school hobbyist open/free source "communist" approach, the path-being-abandonded. In which there's a learning curve but once learned it opens a world of possibilities.
on the other hand: the dorico way -- the commercialist (mercantilist), Microsoft-pionered world of private and commercial software products in which companies work to reduce the learning curve but also end up turning the afore mentioned world of possibilities into a constrained hallway or a boxed easy-to-use shelf of products (an app store) which is also difficult to customize (enter the 'contractors ecosystem' who will do it for you; or app marketplace).
The path we're being dragged into (at least I feel like I'm getting dragged, I prefer the other path but this is a collective decision, so my own individual choice is discarded in the face of the overall social choice)
http://lilypond.org/easier-editing.html
Maybe Denemo: http://denemo.org/
Lyp – The Lilypond Swiss Army Knife - https://news.ycombinator.com/item?id=13259590 - Dec 2016 (7 comments)
LilyBin, an Online Musical Score Editor (using LilyPond) - https://news.ycombinator.com/item?id=9414004 - April 2015 (1 comment)
Obsessed with putting ink on paper or What's wrong with computer music notation? - https://news.ycombinator.com/item?id=1515262 - July 2010 (36 comments)
Open source typesetter for sheet music - https://news.ycombinator.com/item?id=1192289 - March 2010 (23 comments)
LilyPond architecture (music notation software in Lisp) - https://news.ycombinator.com/item?id=379234 - Nov 2008 (2 comments)
There are various nicer IDEs for it, but I just run side-by-side windows with zathura and emacs; zathura will automatically reload when PDFs change on disk so I can see my changes immediately.
I use lilypond to type up leadsheets for jazz and some other genres [0], inspired by Mark Veltzer's Openbook [1]. I've gotten pretty fast at typing up songs over time. The goal is to have a CLI or web interface to generate a pdf for concert/bb/bass clef/etc, optionally include lyrics/QR codes, and so on.
Being able to transpose is quite handy, although I'm working on a system to automatically handle larger transpositions (e.g. for Eb instruments or for bass clef). The problem is if I statically pick one direction (up or down), some leadsheets will have the notes too high or low. I think I can resolve it with having all songs entered in absolute pitches and scanning for the lowest/highest note.
There's also Impromptu, which I think is Scheme... There's an incredibly cool talk by Andrew Sorensen using it: https://youtu.be/yY1FSsUV-8c
> [Lilypond] was one of a handful of early programs turning notation into ASCII text. Older program but still useful. MusicXML has made a lot of these older systems less productive these days, though: https://www.musicxml.com/
> Developed by Michael Goode at Stanford – it's now the international standard for music encoding.
Nevertheless I should mention that Lilypond serves a different purpose and is aimed at a different audience when compared to popular scorewriters such as musescore. It is primarily an engraver and should be used to typeset existing music, composing directly into it is always going to be very awkward compared to WYSIWYG editors or even just manuscript paper. The learning curve is also quite large and you must be ready to constantly refer back to its (very well written) documentation. But like any complex tool, acquiring familiarity with it is very rewarding in the long run.
[1] http://lilypond.org/doc/v2.22/Documentation/notation/common-...
[2] http://lilypond.org/doc/v2.22/Documentation/notation/common-...
[3] http://lilypond.org/doc/v2.22/Documentation/notation/display...
[4] http://lilypond.org/doc/v2.22/Documentation/notation/figured...
[5] http://lilypond.org/doc/v2.22/Documentation/notation/typeset...
[6] http://lilypond.org/doc/v2.22/Documentation/notation/typeset...
That said, I am not disappointed. But then I am also the one who posted this link in the first place. I started using Lilypond last year for transcribing the melody voices from complex sheet music and automatically transposing them into different keys when needed (which is immensely useful). Just recently I discovered that it can also generate MIDI output, so in addition to having a convenient tool to get beautiful sheet music in whatever key I need, I can now easily have my computer play the melodies and memorise them by listening (which for me, on my current instrument, is much easier than playing from notes directly).