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 1, Introduction
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. 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. 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. 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. 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. 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.