Archive for the ‘Lilypond’ Category

0.3.2 Release: ‘LilyPond Sucks’

Thursday, August 13th, 2009

Another bug fix version, and this is the first version ever with a code name — definitely an apt one. It only fixes command line invocation with LilyPond 2.12.x. So this fix need not be applied if lilypond is not used, or LilyPond inside server is not newer than 2.10.x release.

Why the name? I haven’t used LilyPond for a long while. Only very recently, after testing compatibility with newer WordPress release, did I discover that LilyPond safe mode command line option is completely gone, resulting in error! There IS a reason even Wikimedia people cast doubt about usage of LilyPond — notation syntax and command line can change between every minor release, and even EVERY PATCH LEVEL! In the case of safe mode option:

2.8.x --safe
2.10.x --safe-mode
2.12.x -dsafe No more

Go figure.


2010-02-26: OK, so the safe mode option in 2.12.x is there after all, I haven’t followed Lilypond development for a long while so don’t even notice that. It’s -dsafe now. Thus in 0.3.3 version safe mode is re-enabled. Sigh.

All notations side by side

Tuesday, August 26th, 2008

Upon a time I have had compared the results of various notations side by side in my own blog, split into several posts. But comparing them within one single post is cooler, and easier for comparison purpose. So here presents the beginning 2 bars of Prokofiev Piano Sonata No. 8, second movement:

ABC:

Music fragment in "abc" notation

(midi download)

Guido:

Music fragment in "guido" notation

(no midi download)

Mup

Music fragment in "mup" notation

(no midi download)

Lilypond

Music fragment in "lilypond" notation

(no midi download)

PMW:

Music fragment in "pmw" notation

(midi download)

Among all notations, Lilypond takes me the most time to get positions of various dynamics and texts right. Much time is spent on Guido one too, but documentation on Guido is considerably easier to read than Lilypond’s, and much manual layout simply can’t be done by Guido :( .

I have been saying that ABC notation shows promise; now I want to take back to word. It doesn’t even allow specifying text marks in arbitrary position! This is 2008, not 1988, but still. Though ABC standard version 2.0 has it, but (1) it’s a draft, and (2) which software is implementing 2.0 standard?

The above paragraph partially reflects my lack of understanding of ABC format and abcm2ps, which already tries to implement 2.0 draft standard.


2008-09-28 Edit: Add Philip’s Music Writer counterpart since it is recently supported.

2010-02-21 Edit: Recently upgraded PMW to version 4.21, now adjusting staff spacing is not allowed for staff 0 (Tempo). Besides, ABC fragment is adjusted a bit, so slurs and expressive marks are correctly placed above/below notes. One problem remains: position of dynamics still can’t be adjusted.

Lilypond with international characters

Monday, June 11th, 2007

Music fragment in "lilypond" notation

(no midi download)

Neat, isn’t it? This example is taken from the one contained in Debian package, albeit the package itself is terribly outdated and unmaintained until Debian Etch comes. Even though the example was supposed to be usable during Lilypond 2.2.x days only (!), with some changes (specifically, filtered with convert-ly to remove obsolete constructs), it runs happily with newest Lilypond.

But — this absolutely isn’t for the faint of heart.

  • It took 35+ minute to render! Yes, 35+ minute 100% CPU time on Celeron 2.4GHz. Very likely due to embedding chinese font glyph outline into postscript file.
  • One has to tweak fontconfig configuration file under Linux. Fontconfig has been notoriously bad at choosing CJK fonts. Default config prefers Japanese fonts, and imagine what it looks like when a mixture of Japanese fonts and Chinese fonts are used in lyrics.
  • Installing Chinese fonts — actually this is the easy part. The score fragment in this post is rendered with Kai face (楷書) from CJKUnifonts, which is readily available in all major Linux distributions if Chinese support is enabled. Rendering Japanese and Korean requires fonts for corresponding language, of course.

Lilypond eyecandy

Wednesday, March 14th, 2007

Well, it is politically incorrect if some eyecandy is not provided, especially for a site dedicated to image rendering. So here it is, for lilypond notation. Can you guess to which piece this fragment belongs?

Music fragment in "lilypond" notation

(no midi download)

However, the notation behind these few bars is a completely different beast. There is valid reason when someone say that Lilypond is absolutely not for musicians and composers, but for programmers instead! Please click on the score fragment to see the code behind it.