At the Sounding Edge: LilyPond, Part 2
Denemo is a utility for the creation of files in a variety of formats, including ABC, MIDI, XML, Csound score and, yes, LilyPond. Denemo's default user interface seems rather modest when compared to the GUIs of Rosegarden and NoteEdit, but much power lurks beneath its surface. The program combines a mouse-driven GUI, user-defined keyboard bindings and a set of pre-defined keyboard commands in a flexible and useful tool for preparing LilyPond files. The GUI is not WYSIWYG (what you see is what you get), and the program should not be confused with a music notation editor such as NoteEdit. Denemo is a general-purpose input device that significantly reduces the difficulty of preparing multiformat music files.
Figure 8 shows Denemo at work. You can see the display is not completely WYSIWYG, but it is quite comprehensible. Indicators such as the tuplet figures are translated to their correct appearances when the output file is compiled by LilyPond, as illustrated in Figure 9. A bug in Denemo prevented the dynamics indicators from being displayed in Denemo itself, but they are entered correctly in the LilyPond output. The title and author information is entered in Denemo's File/Set Headers dialog.
As of version 0.7.2a, Denemo's user documentation is contained in the source package's README. Various key bindings are described there, and Denemo includes a facility for creating user-defined key bindings for the program's entire command set and GUI menu items (see Figure 10). With data entry keys defined as you want them, you can work quickly and accurately with Denemo.

Figure 10. Denemo's Keyboard Bindings Editor
I hope you've enjoyed this mini-introduction to LilyPond. I've only scratched the surface of the system, so you simply have to try it yourself to test its depths. If you're not the language-learning type, you can employ one of the GUIs presented here or you can work in a MIDI environment and use the midi2ly format converter. However you choose to work with it, I think you'll agree that LilyPond lives up to its promise of producing output that truly is beautiful.
From July 6 to 10, I attended the Libre Software Meeting (LSM), once again held in Bordeaux, France. The LSM is a large conference that encompasses a wide variety of free software development topics and trends, including computer sound and music trends. I'm happy to report that LSM 2004 hosted an excellent series of presentations on development occurring in the sound, music and multimedia domains of free software. Non-audio-specific report topics included updates on the Cinelerra video editor, the Blender 3-D renderer and the Scribus DTP edit/layout system. Music and sound topics included reports on recent ALSA development, with particular regard to the 2.6 kernel; an overview of the Faust programming language, a real-time sound processing/synthesis; the use of RDF (Resource Description Framework) in audio applications; and an introduction to the Dolabip software and its use in gesture/audition training for children. Other sound-related topics included a presentation and workshop dedicated to the Ardour DAW (digital audio workstation) and introductions to the AGNULA and APODIO projects. Details on all these presentations can be found by clicking on the Program link under the heading of Music And Other Artistic Domains on the Technical Topics page on the LSM Web site.
Next year's LSM will be held in Dijon. Information regarding LSM 2005 probably will start to appear on-line in the spring of that year. The conference has something for almost everyone, so you're bound to find more than a few interesting presentations, lively discussions and impromptu workshops. I hope to see you there.
Many thanks to the directors and staff of LSM 2004 for their assistance. Special thanks to Ludovic Penet for his extraordinary patience and courage and to Francois Dechelle and Myriam Desainte-Catherine for their great efforts to make the music and sound topic presentations so successful.
Similis sum folio de quo ludunt venti.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- New Products
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Have you tried Boxen? It's a
3 min 42 sec ago - seo services in india
4 hours 35 min ago - For KDE install kio-mtp
4 hours 35 min ago - Evernote is much more...
6 hours 36 min ago - Reply to comment | Linux Journal
15 hours 21 min ago - Dynamic DNS
15 hours 55 min ago - Reply to comment | Linux Journal
16 hours 54 min ago - Reply to comment | Linux Journal
17 hours 44 min ago - Not free anymore
21 hours 46 min ago - Great
1 day 1 hour ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?





Comments
great
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
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)
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...
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)
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)
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
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
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
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
I meant to write, "Only in these special cases are the results of equal quality."
Author's reply
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
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
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.