At the Sounding Edge: LilyPond, Part 2

A look at three GUI front-ends for the LilyPond music notation software.

Last month we looked at some of the the basic operations of the LilyPond music typesetting software. We saw that LilyPond is a TeX-based language specifying the complexities of Western music notation and capable of producing excellent PostScript printable output. This month, we look at three GUI front-ends for LilyPond: the Rosegarden sequencer, the NoteEdit music notation editor and the Denemo LilyPond file preparation utility. I've also appended a brief account of the music and sound topic presentations made at this year's Libre Software Meeting. But first we return to the 'Pond.

Rosegarden

Rosegarden is an advanced audio/MIDI sequencer with support for music notation. You can compose your music in Rosegarden by digitally recording audio, by recording MIDI sequence data, by entering Western music notation symbols or by any combination of these three methods.

The ability to enter music in standard notation always has been central to Rosegarden's design. Rosegarden does not pretend to provide a complete notation editing environment in the manner of Finale or Sibelius, but its notation editor supplies most common Western music notation symbols and directives, facilitating the creation of basic conventional scores. When your work is ready, Rosegarden can export your notation data in the Mup and MusicXML formats and, of course, LilyPond too.

Where a GUI is concerned, one screenshot saves many words. Figure 1 shows off Rosegarden's notation editor with the beginning measures of a piece written with the tools available from the palettes and menus seen in the screenshot. The notes, rests, articulations and other markings are selected from the symbol palettes and entered on the virtual staves. Edits can be made to single notes or groups of notes. Rosegarden automatically renders the notation into MIDI sequence data, so with the proper MIDI sound set up, you can audition your work at any time, from any point in the music.

Figure 1. Rosegarden's Music Notation Editor

Let's open Rosegarden's File/Export dialog to save the example in Figure 1 as a LilyPond file named lj-test-01.ly. During the export process, the LilyPond options dialog seen in Figure 2 opens. After setting our preferences, click on the OK button to complete the export.

Figure 2. LilyPond Export Options in Rosegarden

Now we can process the exported file with LilyPond. This simple command lilypond lj-test-01.ly converts the LilyPond file exported by Rosegarden into the high-quality printable PostScript output seen in Figure 3. Of course, we can edit the LilyPond file to add many other symbols and signs, but for this example, I wanted to illustrate the simplest export and conversion procedure.

Figure 3. LilyPond's PostScript Output

NoteEdit

Joerg Anders' NoteEdit is a dedicated music notation editor, designed to provide notation-literate composers with a familiar working environment. Like Rosegarden, NoteEdit supplies various symbol palettes and editing functions to facilitate the entry of notes and other musical signs on a staff or staves. Work can be auditioned at any time, but NoteEdit does not offer a MIDI sequence editor as Rosegarden does. Finally, NoteEdit offers a broad range of export targets, including MusiXTeX, PMX, ABC, MusicXML and LilyPond.

Figure 4. NoteEdit

Figure 5. NoteEdit's Export Options for LilyPond

Figure 4 shows NoteEdit's main display with two staves prepared for guitar and bassoon. I exported this work as a LilyPond file named lp-test-ne.ly. I then processed it with the LilyPond binary. The screenshot in Figure 5 is NoteEdit's LilyPond options dialog, similar to what we saw in Rosegarden. I clicked the Start Export button in that dialog, and voilá, I had a new LilyPond file from NoteEdit. Alas, my versions of NoteEdit and LilyPond were not in sync, so I used the convert-ly utility to bring the file format up to date. See last month's installment of this article for details on how to do that. Next, I ran this familiar command sequence lilypond lj-test-ne-converted.ly to create the PostScript output seen in Figure 6. Obviously, a little manual touch-up is required; Figure 7 demonstrates the results after some manual edits to the LilyPond file.

Figure 6. LilyPond PostScript Output

Figure 7. Output After Editing

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

great

sinema's picture

As an experienced amateur pianist and composer of classical music, I consider that, for those special cases, i.e. scores of low-to-intermediate complexity such as 4-part fugues for organ on 2-staves, use of the fine-positioning feature in Rosegarden makes it possible to get an equally high-quality of typesetting in Rosegarden as that available in Lilypond. Only in these special cases are the results equal,and I think that for some users it may be all they need.

Lilypond GUI for GNOME

William's picture

So far I tried installing the three previous GUIs for Lilypond and only Denemo seems to be working. I used Ubuntu (Intrepid) therefore GNOME is the default environment. I would also include Kile as a GUI for Lilypond, I tried but I am still chewing the Lilypond TeX language.
Thanks for your post it's still very useful up to this date.

Denemo update (author's note)

Anonymous's picture

I've been hacking around with Denemo and have some news to report. First, the GTK2 build supports a LilyPond text editing mode that is on-screen with the default Denemo notation display. It looks very cool, but alas, it's not working for me yet. The mode comes up fine, but I'm unable to actually edit text. Still a cool idea, I hope the developers work on it.

I also discovered that the dynamics weren't displayed due to a font locale setting. Setting LANG to C fixes it for me.

Btw, Denemo definitely needs developers. Adam Tee and Guenter Geiger are doing as much as they can, but both are obliged elsewhere. If anyone is looking for a worthy Linux music app coding project check out the Denemo sources.

Couple of Things...

Anonymous's picture

Lillypond is the best type setter arround for unmetered choral music. This insistance upon adhereing to a metered scale in every other music notation editor under the sun makes creating sheet music impossible.

That said I have yet to try one of the GUI's, but I suspect the metered aspect is enforced.

Second, I really wish they would iprove their overall packaging. Compiling from source is VERY difficult due to dependancies etc... and their availibility of RPMs is very small. I wish I could help in that department but I have no clue when it comes to that sort of thing.

NoteEdit update (author's note)

Anonymous's picture

Just a quick note to say that NoteEdit 2.7.x has fixed its sync problem with LilyPond version 2.2.x. The convert-ly step is currently not required, I can simply run the LilyPond binary on the NE-created LilyPond score file, and voila, I have a brand new PostScript file courtesy NE and LilyPond.

Best,

dp

Re: NoteEdit update (author's note)

Anonymous's picture

This is true, so long as you're using Lilypond 2.2. The development branch (2.3) has changed the input file structure (again) and is close to being released as stable 3.0 I believe.

The other problem is that NoteEdit doesn't stay up with LilyPond terribly well -- this is part of the price of stability!

So to qualify your comment, if you're running current NE and stable LP, you probably won't have problems, but convert-ly is only a console away if it's needed!

How to get Lilypond quality inside Rosegarden

Anonymous's picture

The small difference in quality of typesetting between Rosegarden and Lilypond can be eliminated if you are prepared to use the new manual "fine-positioning" feature in Rosegarden 0.9.9 with which it is possible to make adjustments to the positions of most types of notation object (shift-click on an object and drag it to the required position). In most places on scores of intermediate complexity, Rosegarden's typesetting quality is excellent meaning there is no need to do fine-positioning. When flaws in the typesetting do occur, they are usually limited to a relatively small number of notation objects and can be quickly fixed using the fine-positioning feature.

Re: How to get Lilypond quality inside Rosegarden

Anonymous's picture

Typesetting is not just a matter of positioning objects at the right
X,Y locations. For example, sloping of beams and slurs should follow
rather complex rules, which would require more advanced positioning than
click & dragging with the mouse.

I suspect that you and I have a different idea of quality typesetting, so
I'd be interested to see a sample of this "fine-positioned excellent" print.

(Not trying to put down RG, -- I love it -- but I happen to think that it comes nowhere near LilyPond)

Han-Wen
(LilyPond author)

Re: How to get Lilypond quality inside Rosegarden

Anonymous's picture

The process of music-typesetting clearly involves a range of layout issues that is not limited to the absolute position of each notation object. Indeed, Rosegarden and LilyPond both use algorithms which automatically determine layout in terms of a wide range of issues including beam slope, slur slope, stem length, etc. The layout algorithms used by LilyPond are in many cases certainly more sophisticated than those used by Rosegarden. Consequently, LilyPond nearly always does excellent typesetting for scores of any complexity. However, for scores of "low-to-intermediate" complexity, the essential differences in typesetting quality between Rosegarden and LilyPond are, in many cases, not very large - perhaps surprisingly - and those essential differences, though not all types of difference, can be eliminated by using Rosegarden's fine-positioning feature, in spite of the fact that this feature is limited to x,y positioning. For those special cases where a successful result can be achieved using Rosegarden's fine-positioning feature, there are, of course, still some remaining differences in typesetting between Rosegarden and LilyPond but these differences are what I consider to be matters of taste, not of quality. As an experienced amateur pianist and composer of classical music, I consider that, for those special cases, i.e. scores of low-to-intermediate complexity such as 4-part fugues for organ on 2-staves, use of the fine-positioning feature in Rosegarden makes it possible to get an equally high-quality of typesetting in Rosegarden as that available in Lilypond. Only in these special cases are the results equal. There are also, of course, many other cases, especially but not only scores of high complexity, in which the quality of Rosegarden's typesetting is significantly and uncorrectably lower than that of LilyPond, regardless of any usage of Rosegarden's fine-positioning feature. By the way, thank you very much for LilyPond; I think it is excellent software.

Re: How to get Lilypond quality inside Rosegarden

Anonymous's picture

I meant to write, "Only in these special cases are the results of equal quality."

Author's reply

Anonymous's picture

Hello Han-wen !

I think it's important to stress the great difference between LilyPond and Rosegarden, NoteEdit, Denemo, etc. : LilyPond is an engine, a powerful typesetting engine that has not necessarily been designed to be music composition software. RG and NE are clearly designed for music composition, and their notation capabilities will of necessity fall short of LP's greater resources. LP is very specific in its task orientation, the others are more general in their purpose and designs. I have tried to describe RG and NE as front-end GUIs for the creation of LilyPond scores, and hopefully I've indicated that LP provides many features not likely to be found in the general-purpose music programs. As you point out, music typesetting is an enormously non-obviously complicated art, and until someone really studies it (as have you and Jan) it's easy to assume it's easier than it really is. I'm glad RG continues to develop its notational facilities, and I think that for some users it may be all they need. However, for the very best printed results I'll still prefer to hand-edit LP scores, regardless whether I've produced them directly or in another application. The results are just so sweet...

Best regards,

dp

Re: At the Sounding Edge: LilyPond, Part 2

Anonymous's picture

All respect for the great work of the programmers behind these music notation guis, but they still have an enormous lot of work to do in order to produce decent output.

LilyPond itself is the only program you can get decent (excellent) sheet music out of.

What I would love to see is some gui that accepts MusicXML input and that builds upon the LilyPond internals directly. Guess we'll have to wait for LilyPond to stabilise its file format even more, and for a Cairo-based GnomeCanvas...

Re: At the Sounding Edge: LilyPond, Part 2

Anonymous's picture

LilyPond itself is the only program you can get decent (excellent) sheet music out of.
That's not strictly true. It is possible to use the "fine-positioning" feature in Rosegarden 0.9.9 to get Lilypond's quality of typesetting in Rosegarden's scores -- please read my other comment (Subject: "How to get Lilypond quality inside Rosegarden") attached to this article for more details.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState