Finale and LilyPond

From About PCs Wiki
Jump to navigation Jump to search


Copyright © 2024 by Andrew Hawryluk.
This work is licensed under a Creative Commons Attribution-Noncommercial 4.0 License

This is a text written by Andrew Hawryluk

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.

I am a reasonably contented Finale user, but I was very curious to see if LilyPond, a free music engraving program, had developed to the point where it would meet my needs. Now that I have tried LilyPond and gained some basic skill, I am stunned by how well it works. I will probably use both programs for some time, but the comparison has been so interesting that I wrote down what I thought. I expect that most of this comparison would probably apply to Finale’s competitors as well, but I don’t know enough about them to make any specific comments.

Both Finale and LilyPond exist to place the standard elements of Western musical notation on paper, but apart from this objective they are fundamentally different. Therefore, the amount of insight offered by any comparison depends very much on the depth of that comparison. Simply listing a few obvious functional differences, for example, would be like pointing out the contours of the human body without studying the underlying layers of muscle, ligament, and bone. In both cases, the most visible features are caused by the elements beneath the surface.

As I see it, there are five major differences between LilyPond and Finale, which layer on top of each other beginning at the most fundamental and working up to the surface:

Project structure and philosophy[edit | hide]

Finale is a commercial software product written by full-time developers. They want to make an excellent product, but they need to sell that product so they can pay their staff and stay in business. Therefore, their decisions are based on business conditions and they measure their success in sales. Generally, selling a product implies not giving it away, so the internals of Finale are kept a secret. They write the code, plan the new features, and fix the bugs. We buy their updates.

LilyPond, on the other hand, is Free Software written by volunteers in their spare time. They gradually improve the program and give it all away for free, including the source code. If you find something that doesn’t work you can report the bug, and if nobody wants to fix it fast enough you can attempt it yourself. The most important measure of the project’s success is the satisfaction of the existing users and developers.

Audience[edit | hide]

Both products are targeted at musicians that notate, but with some differences. The target Finale user is willing to spend up to $600 on a very specialized software product. In exchange, they (we) get an extremely versatile package used by hundreds of thousands of other users, ranging from students and educators to professional musicians and publishers. Finale has developed their large user base over a long history (since 1988), and the resulting network effect means that new users are attracted, in part, by the number of existing users.

The first audience for LilyPond was just the developers, who were so unhappy with most of the computer generated scores they were forced to read that they figured they could do a better job themselves. The user base has expanded considerably since then, but the line between the users and the contributors is still very blurry. In fact, the ideal LilyPond user is also interested enough to participate in the development of the project by reporting bugs or helping with the documentation.

Although LilyPond is freely available to anyone who wants to use it, they have no advertising beyond their website and the praise they get within the community. As a result of this, I believe that new LilyPond users continue to be demographically distinct from the average Finale user. If anybody can support or refute that presumption, I’d love to hear about it!

User Interface[edit | hide]

Finale was born in the early days of WYSIWYG desktop publishing, and follows the same pattern. Notes can be entered from the computer keyboard and/or mouse, or from a MIDI instrument. The size, thickness, and location of every element on the page can be manually positioned, and the user sees all of their edits immediately in the sheet music on the screen.

LilyPond was started eight years later and was originally built on top of the legendary TEX typesetting engine. It inherits from TEX the idea that the user prepares a text file with all the necessary information and the software reads the file, makes all the layout decisions, and prepares a finished score. Any changes or corrections are made to the original text file and it gets reprocessed. The user doesn’t get the instant visual feedback that they would see with a graphical interface, but they can compile the project as regularly as they want while they work.

Intended feature set[edit | hide]

As a commercial product, Finale has very strong incentives to offer a broad feature set: every additional feature may serve to expand or defend their customer base, which helps keep them financially viable. As a result, Finale 2008 included sampled instrument sounds, video playback, auto harmonizing, basic optical music recognition, and the ability to record or import an audio track.

LilyPond, on the other hand, follows the Unix philosophy of small, specialized tools for specific tasks. The project has nothing to gain by doing more than one thing well, especially since other programs can also interact with LilyPond’s text files. The only thing that LilyPond attempts to do is interpret user input, engrave beautiful musical scores, and output simple MIDI files.

Engraved output[edit | hide]

Both programs can be used to create very high-quality scores, but Finale’s engraved output depends very much on the user. The LilyPond essay demonstrates what you could get from Finale without any manual corrections, although more recent versions have improved the default output since then.

LilyPond’s engraved output is excellent and requires very few manual tweaks. Part of this is due to the outstanding work done by the developers and contributors, but it is also due to the fact that music engraving is LilyPond’s only major feature. The decision to handle the user input and the layout calculations separately has also made their job easier. Finale must accept user input, make layout decisions, and update the graphical display simultaneously, which limits the amount of time it can spend trying various layout options.

Finale and LilyPond are different because they have different objectives and constraints. Free from normal business pressures, LilyPond is able to specialize entirely in the creation of beautiful scores and it does a marvellous job.

One of the first tests I wanted to try was to transcribe a difficult musical passage in LilyPond and Finale and compare both the working experience and the engraved output. I picked Sergei Rachmaninoff’s Prelude 6 (Op. 23), mm. 27–30 because it’s a music engraving nightmare. The published version I have was hand-engraved on or before the copyright date of 1904 (click for full image). [[File:|600px]] This example contains up to four distinct rhythmic voices at the same time, which is not uncommon in piano parts, but while the lower two voices appearing in the left hand are pretty straightforward, the upper two are more complex. This is because the top voice ascends to a bunch of octave-wide chords while the second voice falls inside those chords for much of the passage, weaving an intricate chromatic countermelody. To make matters worse, in beat 3 of the first measure the second voice jumps down to the lower staff before rising across the gap again. This is done to help the performer see that the first five of those rising sixteenth notes can be reached with the left hand, but it is an additional complication for the engraver. Fitting all of this on the page in a way that is legible, let alone beautiful, is a real test.

Entering the notes into Finale was very easy for me because I have been practicing, but the LilyPond input took me a long time and I had to hunt a bit to get the cross-staff notes and the cross-voice arpeggios. I don’t think the LilyPond entry was actually much harder than the Finale entry would have been if I had been brand new user, but it was more difficult than I was used to.

In transcribing this passage, I have attempted to do as few manual adjustments as possible, although the border between data entry and layout adjustment is fuzzy. I also omitted the “LH” and “RH” markings in both tests and I added a slur to the fourth measure where I believe the engraver may have omitted one. (The sequence suggests that the composer would have placed one there.) Here are the results (click images for PDFs):

This example contains up to four distinct rhythmic voices at the same time, which is not uncommon in piano parts, but while the lower two voices appearing in the left hand are pretty straightforward, the upper two are more complex. This is because the top voice ascends to a bunch of octave-wide chords while the second voice falls inside those chords for much of the passage, weaving an intricate chromatic countermelody. To make matters worse, in beat 3 of the first measure the second voice jumps down to the lower staff before rising across the gap again. This is done to help the performer see that the first five of those rising sixteenth notes can be reached with the left hand, but it is an additional complication for the engraver. Fitting all of this on the page in a way that is legible, let alone beautiful, is a real test.

Entering the notes into Finale was very easy for me because I have been practicing, but the LilyPond input took me a long time and I had to hunt a bit to get the cross-staff notes and the cross-voice arpeggios. I don’t think the LilyPond entry was actually much harder than the Finale entry would have been if I had been brand new user, but it was more difficult than I was used to.

In transcribing this passage, I have attempted to do as few manual adjustments as possible, although the border between data entry and layout adjustment is fuzzy. I also omitted the “LH” and “RH” markings in both tests and I added a slur to the fourth measure where I believe the engraver may have omitted one. (The sequence suggests that the composer would have placed one there.) Here are the results:

My first observation is that both programs struggled with this passage. I clearly underestimated the difficulty here! I was actually planning to try another, denser passage in Prelude 13 (Op. 32), but I changed my mind after I saw these results. That’s why the titles read “Two Excerpts”.

On closer inspection, there are a number of differences that could be summed up by saying that the musical elements in LilyPond are more aware of each other than those in Finale. For example, the page layout in the LilyPond case is superior because the staff positions depend on the size and location of all the other elements, even the slurs. Finale, on the other hand, uses default spacings that make the slur in the first line collide with the composer’s name, and the slurs between the two staves are a disaster. This is why I have to do a lot of manual adjustments before a Finale score gets posted on this site. (I haven’t tried the vertical spacing plug-in for Finale, but I’m curious how smart it is.)

Speaking of slurs, the LilyPond slurs tend to lie close to the notes where the Finale slurs arch high into the space above the staff, with one exception: this particular excerpt contains slurs nested inside other slurs, which neither program liked. Finale’s slurs simply ignore each other, giving us a number of overlapping slurs, while the LilyPond slurs end up really big and stretch the two staves very far apart from each other. (This behaviour has been tagged as LilyPond bug #163.)

Slurs (hand-engraving, Finale, and LilyPond)

The Finale slurs appear to be very “pointed” because they taper down to a very thin line before ending in a sharp point. The LilyPond slurs have a more consistent line weight and taper to a smooth, curved tip. We can see the difference by zooming in on the right tip of the small slur in the previous example:

Two slurs at 16× magnification, Finale (left) and LilyPond (right)

Examining the right hand in the second measure of the excerpt helps us appreciate the work that goes into the preparation of beautiful scores by any method. In the image below I have selected the music from beat 3 to the ‘and’ of beat 4.

The differences in horizontal spacing can be attributed to the fact that the original engraver had the entire page width to work with, in contrast to our indented first lines. The Finale score has a particularly wide left margin that makes the note spacing difficult. But setting that aside, we see that both the human expert and LilyPond correctly offset the interlocking noteheads that land on the same beat, whereas Finale leaves them in their default location and makes it difficult to see which heads are attached to which stems. Again, this is a simple manual adjustment, but if it gets forgotten it can cause the performers some real stress, especially when an alto part crosses above a soprano part!

Collision avoidance (hand-engraving, Finale, and LilyPond)

Here’s a fun game of spot the differences. Apart from the collision and the horizontal positioning of the A-flat, which we already mentioned, I can see three differences. (Let me know if I’ve missed any.) First, the upper beam is different, and this time the LilyPond beam may be the less attractive of the three. Second, the lower tie is inverted in the hand-engraved version, and here I’m not sure which version I prefer. Normally in a two-voice passage the ties all go the same direction as the stems (up or down), which is the method taken by both Finale and LilyPond, and by the engraver in the second measure of our example. In measures 3 and 4, however, he places the ties on the octave in opposite directions, which is normal when there is only one voice on the staff. (The engraver could also be a she, but the odds of that in 1904 were small.) In this case, the pitches of the lower voice fall between the pitches of the upper voice, so keeping the ties pointing up does nothing to keep the two voices visually separated. I think I prefer the engraved version here but I don’t know why he didn’t do the same in the second measure. The tie direction he chose in the third measure avoids the ugly collision that we see in both of the digital versions.

The third difference I can spot in the example above is the missing accidental in the Finale version. Here the E’s are marked as flats to cancel out an E-natural that appeared in beat 1. Unfortunately, Finale does not automatically recognize the need for the lower E-flat because the natural occurred in the other voice. This is probably the most distressing observation I have made here. When two voices on the same staff have many accidentals, users of Finale (including myself) should beware! The second flat is easy to add, but if it gets overlooked the rehearsal could get very messy.

There are a number of smaller details, such as Finale placing the rests farther from the the staff than either LilyPond or our unknown engraver, or the fact that the human finds a nice way of cleaning up the tenuto marks (–) in measure 1, or even the fact that I like the LilyPond font more than the Finale font, but I’d better wrap up.

In conclusion:

Rachmaninoff wrote difficult piano music.
Music notation always requires human intervention.
LilyPond requires far less intervention than Finale.
Beware of cross-voice accidental issues in Finale.
I am not very good at LilyPond yet, but I am very excited about it.

Update: Finale 2011 solved the melismatic syllable placement problem of which I complain here, and Finale 2012 finally accepts Unicode input. I’ve left this page up for now, but I’m happy to see that it’s quite nearly obsolete

Lyric placement[edit | hide]

The biggest complication that vocal music has compared to instrumental music is the lyrics, and they must be placed precisely or we won’t know which words to sing with each of the notes. (I’ve seen an ambiguous score bring a rehearsal to a halt on more than one occasion.) In addition, the spacing of the elements of the page must satisfy the words and the notes at the same time. This is an interesting test.

After entering a set of notes and slurs into Finale, I type the lyrics into the Lyric Editor, in this example “Lyr-ic spac-ing is frought with per-il.” [Note: that should read fraught, but I haven't fixed it yet.] I can then CTRL-click on the first notehead in the passage to assign the lyrics to the entire passage:

Unfortunately, Finale doesn’t assume that a slurred passage only gets one syllable, as you can see. It is kind enough to automatically place word extensions when there are many notes after a syllable, which is nice if you want them automatically. (In Finale this can be disabled, while in LilyPond the word extensions only appear where you type “__” manually in the lyrics.) After assigning the lyrics in Finale, I can shift the lyrics to the correct locations by clicking on every note that doesn’t need a syllable. The result is correct lyric placement but very uneven sixteenth notes. (In Britain they are semiquavers, but they are still uneven.)

This is what has often annoyed me about Finale’s lyric placement. Although the other three sixteenth notes and an eighth note are sung to the same syllable, only the first note is actually above the syllable in the default spacing algorithm. This can be manually adjusted (by moving the beat points with the measure tool) but if the music spacing algorithm is reapplied the manual changes are lost.

In LilyPond, the lyrics are typed in nearly the same manner, “Lyr -- ic spac -- ing is frought with per -- il.” but the initial results are exactly what I want:

On lyric placement, I declare LilyPond the winner. You may also notice that the beams are more attractive and the slur is nicer. Similar results could be achieved in Finale by manual adjustment and with the Patterson Beams plug-in, but I wish it would treat melismas properly without assistance.

Entering music[edit | hide]

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

pitches and durations
clefs, key signatures, and time signatures
staff groups and measure information
expressive marks, including articulations, dynamics, and slurs
repeated notes and sections
editorial annotations
text, including performance instructions, lyrics, and titles
tweaks to the spacing or shapes of musical symbols

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.

Methods[edit | hide]

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.

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.

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[edit | hide]

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

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

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

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[edit | hide]

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

LilyPond has conversion utilities to import from MIDI, MusicXML, ABC, or ETF files, although the MusicXML converter is the best maintained. LilyPond code can also be exported from Canorus or Rosegarden, although I haven’t tried them myself.
Finale can import from MIDI, MusicXML, SmartScore, Encore, Rhapsody, Score. It can also scan music (via SmartScore Lite by Musitek), or listen to simple melodies with its MicNotator feature. It can export MIDI or MusicXML files.
Sibelius can read Finale™, MusicXML, MIDI, SCORE™, Allegro™ and PrintMusic 1.0™ files. It also includes PhotoScore™ Lite for scanning music and will read music in PDF files
Both Finale and Sibelius can export MIDI and MusicXML files.

Conclusions[edit | hide]

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.