Hacker News new | ask | show | jobs
by pdpi 1563 days ago
As an untrained but interested bystander/hobbyist, the scores engraved by Lilypond are orders of magnitude better than those produced by the mainstream WYSIWYG editors, in the same "I deeply care about typography" sort of way that you get from documents produced with TeX but not Word or Google Docs.

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.

6 comments

> As an untrained but interested bystander/hobbyist, the scores engraved by Lilypond are orders of magnitude better than those produced by the mainstream WYSIWYG editors, in the same "I deeply care about typography" sort of way that you get from documents produced with TeX but not Word or Google Docs.

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):

https://news.ycombinator.com/item?id=1515262

My wife writes choral music with Sibelius.

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.

Minimally you can look at the pdf tools / toolkit and "imposition".

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! :-)

This is fairly trivially handled. All the commercial packages easily allow putting a last modification time stamp on the page footer, or something like that.
My wife is also a musician and music teacher, but I have not been able to persuade her to tackle Lilypond. (I have occasionally done projects in Lilypond for her, and the results are great, but the barrier to entry is too high for her to scale.)

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.

Musescore is usable but isn't great. I haven't used lilypond, but I'm sure lilypond is miles better.

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.

> As an untrained but interested bystander/hobbyist, the scores engraved by Lilypond are orders of magnitude better than those produced by the mainstream WYSIWYG editors

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.

Not quite as true anymore, as Dorico can produce output that is AT LEAST as good.
going way off the rail (but this is a good example for some general thoughs regardings to software in society)

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)

Tools like Lilypond are not just for hobbyists or non-commercial users; in fact, there's a pretty long history of Lilypond devs getting paid for adding new features to the software, as well as for general support/maintenance work.
Is there a LyX-like tool for music: enter data in a GUI, but a 'code' file is saved and output is generated in the background?
There are some tools along these lines, but most people simply use Frescobaldi as an integrated editing environment for Lilypond. The most GUI-like tools (including Musescore) are based on MusicXML which is intended as a semantic representation of sheet music, usable for more than typesetting; unfortunately, there isn't good interoperability between Lilypond and MusicXML right now, only some hacked-together attempts at basic import and export.
I haven't seriously tried any of them, but have a look a the list at:

http://lilypond.org/easier-editing.html

Maybe Denemo: http://denemo.org/