Beethoven’s Für Elise in TwinNote, Typeset with LilyPond

While Twinkle, Twinkle, Little Star is nice, let’s just say that it doesn’t really show off the potential of TwinNote all that well.  So it’s time to step things up with a TwinNote version of Für Elise by Ludwig Van Beethoven — now available to download and print.

A big thanks goes to the Mutopia Project for providing a free public domain version of Für Elise in traditional notation. They offer it in LilyPond file format (as well as PDF and MIDI), so it was fairly easy to create a TwinNote version of the sheet music using LilyPond.  Free culture and free/open-source software are wonderful things.

And speaking of LilyPond… some advances in typesetting TwinNote with LilyPond have been made along the way.  The biggest news was figuring out how to customize which side of the stem a note is placed on when it is part of a chord (thanks to the invaluable help of the LilyPond users mailing list).  This made typesetting Für Elise possible, because in TwinNote the notes of all harmonic intervals of a minor third or smaller are placed on opposite sides of the stem.  This provides more consistency in the appearance of minor thirds.  (See Intervals.)

Various other improvements and clean-ups were made as well, including fixing vertical placement of time signatures and fixing a bug where the stems would not connect correctly with note heads that were lower than middle C (converting to an absolute value to avoid dividing by a negative number can work wonders).

These changes to the TwinNote customization code can be found in the Für Elise LilyPond file, as well as in a new TwinNote demo file posted on the LilyPond page.  These files work with LilyPond 2.15.36 or higher, a release candidate for the upcoming 2.16 stable release.  Thanks to some code contributed by Piers Titus, these new versions of LilyPond provide native support for internal ledger lines.  So there’s no more need for the hack of using a custom a notehead glyph that includes the ledger line in it as was the case before.  Did I mention how great open-source software is?

In other news that’s not that new, last fall I made an expanded version of the AudioVisualizer for the Music Notation Project’s website that lets you compare many different alternative notation systems.  I have now submitted it to Mozilla’s Demo Studio, since this month’s Dev Derby challenge is HTML5 Audio.  Feel free to check it out and “like” it, should you be so inclined.

And last but not least, you may have noticed that this whole website is now powered by WordPress and not just the blog.  That’s been the case since last summer but it wasn’t worth its own blog post.

Posted on by Paul Morris | Permalink.

One thought on “Beethoven’s Für Elise in TwinNote, Typeset with LilyPond

Comments are closed.