At the Sounding Edge: LilyPond, Part 2
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 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.
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.
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.
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 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.
Similis sum folio de quo ludunt venti.
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- Non-Linux FOSS: Remember Burning ISOs?
- Encrypt Your Dog (Mutt and GPG)
- EdgeRouter Lite
- Tech Tip: Really Simple HTTP Server with Python
- Monitoring Android Traffic with Wireshark
- Kernel Korner - Exploring Dynamic Kernel Module Support (DKMS)
- Centralized Authentication with Kerberos 5, Part I
- RSS Feeds