Music by Andrew

Compositions and Arrangements by Andrew Hawryluk

Home Sheet Music Other Info

Finale and LilyPond

What happens when someone tries LilyPond after using Finale for years? Well, in my case I now like both programs, but for different reasons. Here are some of my thoughts about the two programs and music notation.

Chapter 4, Entering music

Most of the time required for any notation project is spent in data entry: getting the music into the computer. How can I make such a bold claim? Because I define music entry to include

Tasks outside of music entry may include copying data, extracting individual parts, creating titles and other text objects, adjusting the page layout, generating the final output, and so forth, but these require far less time that the music entry does.


In Finale, all information is entered through a user interface that looks like sheet music, which makes it very easy to read, gives the user instant feedback, and makes certain global edits very easy. For example, one can insert 20 empty measures at measure 54 in all 30 parts simultaneously with only a few keystrokes.

There are several methods available for entering pitches and durations. These range from simple entry via keyboard and/or mouse to real-time MIDI input or even playing monophonic melodies into a microphone. My preferred method uses a MIDI keyboard to specify pitches and the numeric keypad to specify the durations. Entering the other kinds of data is very mouse-driven, and requires the user to select different tools from a toolbar as they switch between the different items.

screenshot from Finale, speedy entry mode

Perhaps the most startling thing to a new LilyPond user is that all of this information is entered into a text file. This has the advantage that it only requires a light-weight text editor, and the disadvantage that it is much harder to read, but what really bothered me was how long it took me to type all the notes.

editing session with LilyPond

At first I thought it was a reasonable trade-off to get the beautiful LilyPond output in exchange for a slower data entry process, but eventually I felt frustrated enough to write a MIDI input plugin for jEdit (installation instructions). Now I can create LilyPond pitches and chords directly from the the MIDI keyboard. This is actually more pleasant than the Finale method because I can enter the expressive marks at the same time as the notes, rather than entering the notes and the expressive marks in separate passes through the music.

Some pseudo-scientific measurements

For a performance comparison, I created this Handel keyboard excerpt three times, staring with a blank canvas and going all the way to PDF output. Although this illustrates the various methods, it is my own performance that was measured, so your results may depend on your skill with keyboards, both the alphanumeric and musical varieties.

Variation 4, from a Chaconne by Handel
Variation 4, from a Chaconne by Handel
Variation IV from a Chaconne by Handel (LilyPond and Finale output)

In Finale with MIDI input, I took 4:44 (min:sec). Typing everything in LilyPond it took me 8:05, and by using MIDI input into my LilyPond file I cut it down to 4:04. So, at least for this example, I went from being much slower than Finale to slightly faster. I was thrilled!

In each of the LilyPond tests, I spent about 1.5 minutes setting up the score. Subtracting this time from both totals and comparing the remainders, I was able to enter the notes 2.5 times faster with MIDI input than by typing. On top of that, I could have shaved another minute off both LilyPond tests by using the LilyPondTool score-setup template.

The relative performance of different entry methods depends on the music. For example, I entered the first 16 bars of Beethoven’s Piano Sonata No. 12, Op. 26, first in Finale via MIDI, and again in LilyPond with only the computer keyboard. I was expecting Finale to be much faster, as it had been before, but they both took me about 25 minutes.

Beethoven excerpt
Sonata No. 12, Op. 26 by Beethoven, Universal Edition (1918–21)

The reason that Finale lost its advantage was the number of expressive markings in the score—and I didn’t even include the fingerings. Switching between the various Finale tools and mousing around was so much slower than typing the expressive markings that it compensated for the difference in note-entry speeds. I have also found that my hands are more comfortable working at the keyboard than the mouse for long periods of time.

By then I was getting tired of entering expressive marks so I didn't repeat the test with LilyPond and MIDI. If I had, it would definitely have been the shortest of the three tests.

For my last test, I picked a bit of Bach keyboard music (no expressive marks), and I used the Dutch spelling of the LilyPond code. This first measure in the right hand would be typed eis16 cis gis cis eis cis.

Prelude No. 3, Book 1, WTC by Bach
Prelude No. 3, Well-Tempered Clavier Book 1, by Bach

Counting only the note entry time, by computer keyboard it took me 2:51 and by MIDI keyboard it took me 49 seconds. That is 3.5 times faster, and there weren't even any chords. (Chords increase the relative advantage of MIDI input because all the pitches can be entered in a single hand movement.)

Other input options

There are several other ways to get musical data into notation software:


At least for me, MIDI entry is much faster than typing the pitches and durations myself. However, for all the other musical elements, I can type them faster in LilyPond than I can enter them in Finale with the mouse. By using MIDI input in LilyPond I am getting the best of both worlds, and preliminary testing suggests that I am now faster in LilyPond than in Finale.

back to chapter 3