Notation has always been the most tedious part of music. It's not hard to bring up a vision of 12th century monks bent over their parchments, working by candlelight with quill and brush to faithfully copy the original chants. The invention of the printing press didn't help much. The only way to mass produce music was with woodcuts- someone drew the music backwards on a piece of wood, then cut out everything around the notes. Since music is mostly made up of fine lines, the resulting block was very fragile and would only last for a few hundred copies. The invention of steel engraving (the same process that makes money) made large print runs of beautiful copies possible, but the plates are quite expensive to make, so only the most popular of composers is likely to sell enough music to make the process worthwhile.
Photo offset printing processes have solved the problem, but a photo offset must still be made from some original, and the era of engraved music set some really high standards for how these originals should look. For many years every composer's education included hours with a rapidograph pen and sheet of vellum learning to draw accurate and legible scores and parts. There was a device that worked like a typewriter (it was typewriter, with symbols instead of letters) but it had limitations, and was no faster in use than the pen.
This is the kind of problem computers are meant to solve. After all, a computer can determine every dot of ink on a page, what could be difficult about music print? Well, plenty as it turns out. First question, what exactly should a notation program be?
A graphics layout program that allows exact control over every feature of the page, use of custom symbols and non standard placement?
A graphics layout program that enforces correct usage and printer's conventions?
A quick music writing program that provides simple and readable parts for the composer in a hurry?
A music processor (like a word processor) that allows easy note entry and revision, and plays work in progress?
A transcription program, that produces print music from audio of MIDI input?
An alternate editing feature of a sequencer program?
A synthesis control program, that translates music symbols into convincing and expressive sound?
There are reasons for all of these, but they are somewhat contradictory. For instance, it is difficult to give complete control and quick note entry. Also, music print is a lot more complicated than it looks. The standard reference on notation is 470 pages long. A program that implements all of that is likely to be big, expensive, and hard to use.
The earliest work on computer assisted notation was done by Leland C Smith at Stanford University (at the Center for Computer Research in Music and Acoustics, or CCRMA). Before precision computer printers were available, his SCORE program was creating complex music on an X-Y plotter. Music entry to SCORE was done on a teletype keyboard, and required an elaborate code for description of each element. Text based music entry is a whole class by itself. The two most prevalent systems are DARMS and ABC. SCORE uses its own variant, but is fairly close to DARMS. The main drawback to text based entry is you don't see what the music looks like until after it prints out.
Leland continued to develop SCORE throughout his career, and it is now the standard program in use by the music publishing industry. It runs on PCs, and now features on screen graphic editing.
Computer graphics really took off with the introduction of the Macintosh in 1984. It wasn't the Mac that sparked this so much as the printers that went with it. The laser printer was the tool music copyists had been looking for.
The program used in Unix to do page layout for laser printers is called TeX. Over the years several sets of macros for TeX such as muTeX and musicTeX have expanded its capabilities to include music. These use text based entry, and are still really primitive when compared to SCORE. In fact, musicTeX is so hard to use that a program called PMX has been written to simplify preparing data for it.
There is an open source Linux development group working along the same lines as TeX. Their program is called Lillypond. It's still text based entry, but various developers are adding graphical features. One promising one is KooBase, now known as Brahms. The main trouble with open source development is you never know when a new version is coming out. And sometime the developers lose interest and orphan the program.
The first Mac program that printed music from a graphics screen was ConcertWare, by Chad Mitchell it was impressive for the day, but too simple for academic users. It would play scores in a very straight manner with the internal Mac sound and extract parts from a score. Later versions expanded the capabilities a lot and included MIDI playback. Chad set up a company called Great Wave software to market ConcertWare, but the program, although popular, was not a good moneymaker. (It was not copy protected) Chad also wrote educational programs, that did generate revenue. Eventually ConcertWare was withdrawn and the code was sold. It apparently wound up part of the Miracle Piano system.
To make ConcertWare work, Chad designed the first font of music symbols. His font layout, q for the whole note, w for he half note and so on, has been copied by every music font designer since.
Many other simple notation programs have been created for the Mac and PC. Most seem to come and go but a few are surviving pretty well. These all focus on ease of use in writing songs. They will generally play back through MIDI systems, and the most ambitious will take a shot at transcribing a MIDI file. The best thing that can be said about most of them is that they are cheap. The actual music you can write with them is limited, either by spacing constraints, lack of certain features (like the ability to place a slur over a tie) or general bugginess. Some of these are offered by the companies that make the favored pro systems. A little detective work reveals that these are old versions of the flagship.
Lime is an exception to the above. Although it is cheap and fairly easy to use, it like, SCORE represents a lot of serious work. It was written primarily by Lippold Haken at the University of Illinois CERL research group for their music instruction lab. It stops somewhat short of SCORE in capabilities, but will produce anything a music student is likely to need, including such esoterica as two line staves and microtonal accidentals.
Around 1990, serious attempts at commercial music software began appearing. The first out was Finale, which included most of the features working composers needed, but had a very awkward user interface. Finale beat out several others to become the current de facto standard. The interface is somewhat improved, and all of the features anybody could want have been added in.
The most serious competition to Finale came from Mosaic, by Mark of the Unicorn. It had its own problems, which have gradually been addressed, and it is now fairly popular with musicians who use other MOTU products. Finale probably outsells it by 10 to 1 though.
There have been several additions to the pack in the last couple of years. These attempt to capitalize on Finale's still rather weak interface design and add features for music distribution over the internet. Sibelius seems to be doing well, and has certainly made a dent in finale's Microsoft-like grip on the market.
It's hard to know what to make of Igor. This started out as a sort of open source product in the Lisp community, was freely distributed for a year or so, and is now a commercial product. It is the most powerful for the money (especially while it was free), but is a memory hog and still a bit buggy.
It depends on what you need to do. If you only need songs and leadsheets with lyrics and chords, one of the under $200 programs will probably be fine. Download the demos and see how you like using the interface, because these vary widely. Avoid anything that emphasizes "fun" in the advertising, and any that won't let you print from the demo. Printing can be quite different from the screen display. One thing I check is the ease of playback. It shouldn't take more than a single key press.
If you are producing commercial music, and need features like part extraction with control over page turns, you will have to consider Finale, Sibelius, or Igor. Most publishing houses accept work in Finale format. (They pay someone to convert to SCORE.)
If you compose in score form and want high quality MIDI playback, the best choice is probably Overture, originally by OpCode, now sold by Cakewalk. Overture includes most of the note and control editing features of Vision. The other option is to use a notation program of your choice and import the file to your sequencer. The scoring features of most sequencing programs are basically a joke.
If you are a school, and need many copies of a program for a music lab, Lime is the way to go.
The perfect music scoring program has yet to be written. Even if you could combine the best features of each, there would be some items left to be desired.
We expect second year music students to be reasonably good at haring a piece of music played and writing it down. You'd think a computer could do as well, but so far, no. When people play, they don't follow a steady tempo, and this confuses the best transcription programs. The difference between dotted eighth sixteenth and a quarter eighth triplet is less than the variation in tempo. You have to decide which is meant from context. Also, people don't play on the beat. So, what's a pickup and what's an early downbeat? Again, you have to get that from the context. I haven't seen a commercial program yet that didn't break on these issues, and most of them are a joke.
Scanning music into a computer would simplify all kinds of chores from analysis to making music available to the blind. There have been some starts made in this direction (financed by music publishers, who want to get the music they printed in the precomputer era digitized.). But the best we have so far is about 85% accuracy. Scanned music has so many mistakes that need correcting that it's faster to enter the music from scratch than it is to correct the mistakes the scanner makes. Why? Well a look at a piece of real sheet music will give you clues. There are lines running every which way, several different typefaces, with things like mp scattered anywhere. Add a few badly printed noteheads and some dirt and you have a real problem for the best scanner. Add in the fact that music print has never been truly standardized (despite 470 pages of instruction), and a lot of it is hand written, and you see it's going to take true computer intelligence to fix this one.
Inventory is the bane of music stores. If you can find one, you will see that a good music store has hundreds of file drawers full of one or two copies of thousands of different pieces. The store had to pay for each one, and doesn't get any money back until it sells, maybe years later. This problem has pretty much killed the old fashioned music store. The idea that is floating around right now is that all the store needs a is a printer, and when a customer asks for something, it can be downloaded, printed and handed over. Great idea that publishers have been working on for about ten years. There have even been a couple of trial runs. But as of this writing, each publisher has their own file format, and download publishing isn't going to happen until some standards get sorted out.
Speaking of standards, did you realize that the different programs listed above cannot work on the same file? They all have different file formats, and some of the companies even keep their format a secret or sue others that try for compatibility! The only level at which data can be exchanged is Standard MIDI Files, which of course leaves out most of the notation. (MIDI only deals with when the notes go on and off. There's no way to say Andante Ma Non Troppo.). An excellent standard has been developed, called the Notation Interchange File Format, but only one product supports it.
Most of the programs can play the music as it is entered, either via MIDI or with built in sound. However, this performance leaves a lot to be desired. The rhythms are laughably rigid, there's little or no dynamic variation, and no computer understands the concept of a phrase. Add in the limitations of synthesizer articulation (ever heard one slur?) and the best you can get is a sort of cartoon. This is another place where a serious application of AI programming is needed. Maybe someone who is reading this can get started on the problem.