I have always been fascinated by optical character recognition (OCR) systems. Taking a page of text or a chart full of numbers and converting it into an editable file seems to take more than a bit of magic. What's more, the technology seems to be improving at a steady rate as new applications emerge. The postage-stamp vending machine at my local post office, for example, now accepts bills of any denomination, not just one-dollar bills. The machine scans my hard-earned dough and promptly returns the correct change after each transaction. That seems pretty impressive to me, but it's mere child's play compared with what Musitek's new SmartScore can do.
SmartScore is a music software package that lets you scan printed music and convert it into a specialized music notation file that you can modify, edit, and process in various ways. More important, however, you can playback SmartScore files through your sound card or MIDI sound module to hear what the music sounds like. For many people, this is just the sort of music software they've been waiting for: a printed-music playback system that lets you listen to notated music without performing it. Of course, the process is far from foolproof, and there are several steps in getting from page to playback, but the possibilities are certainly intriguing.
Band directors can now scan a marching band score and quickly transpose the piece into an easier key. Choir members can scan a choral score and learn their parts by singing along to a MIDI accompaniment. Students can create their own "music-minus-one" style arrangements, and anyone can audition pieces that they've never heard. Indeed, schools and churches are among Musitek's most ardent customers.
SmartScore evolved from Musitek's earlier MIDIScan software (released in 1993). The more sophisticated SmartScore offers improved recognition algorithms, greatly expanded score layout and editing options, and a fully functional MIDI sequencer with Piano Roll and Event List views. You can also create scores from scratch using one of SmartScore's 15 templates, and you can record and edit MIDI files directly in the sequencer section without using scanned music. The program supports up to 32 staffs, and you can assign any MIDI channel to any of four independent, colour-coded voices per staff. Surprisingly, SmartScore even handles collapsing and expanding scores (in which staffs are dropped when instruments aren't playing).
Yes, I can
In spite of its various ancillary talents, SmartScore's primary raison d'etre is to translate printed music into playable MIDI files. The multistep process begins, of course, with a scanner. SmartScore supports most TWAIN-compatible scanners, so getting started should be easy, especially considering that many scanner models are now available for less than $100. I got excellent results by plugging an inexpensive USB-equipped Microtek scanner into my PC. (If you don't have a TWAIN-compatible scanner, you can prescan the pages outside of SmartScore and save the images in one of several dozen graphics formats, including TIFF, BMP, EPS, JPEG, PICT, and PCX.) Microtek recommends a resolution of around 300 to 400 dots per inch (dpi); the default setting is 300 dpi. Higher or lower settings may adversely affect recognition accuracy, although higher settings may be necessary for miniature scores.
For the best results, it's important to position the page squarely in the scanner to avoid an image file with staffs that angle uphill or downhill. This affects the recognition results during the subsequent step. However, if your image does appear skewed, SmartScore provides a Deskew function that straightens out the staff lines. SmartScore's Edit menu also provides commands that let you crop a selected area, rotate the image, and add lines or shapes using a few basic drawing tools.
ENF is enough
Once you're satisfied with your scanned (or imported) image file, the next step is to add it to the Begin Recognition window. There you select the file (which may consist of one or more pages) and click the Begin Recognition button. SmartScore analyzes the image and generates a new Extended Notation Format (ENF) file, which appears in a divided window beneath the original scanned image (see Fig. 1). The original and the ENF score each has a separate vertical scrollbar, but the sliders are synchronized so that moving one moves the other by the same amount. The Zoom tool works similarly, zooming both displays at once. In that way, the same staffs always appear in both displays at the same time and at the same size.
The ENF file is much more than simply an editable version of the image file. SmartScore's conversion algorithm can actually recognize multiple voices within a single staff, display them in different colours, and assign them independent MIDI channels. This "voiceline threading" feature is at the heart of the program's MIDI playback capabilities, and it allows you to do such things as split chords into separate lines (useful for breaking out the parts in SATB choral scores) and assign separate MIDI instruments to different contrapuntal lines within a staff.
During ENF playback, SmartScore's Playback Console window (see Fig. 2) lets you mute and solo parts and make other real-time changes to a number of MIDI parameters, including volume, Pan, Tempo, Program, and Transposition. However, these changes are not reflected in the score; they only affect the playback. With SmartScore's extensive set of notation-editing tools, you can directly alter the ENF file with many of the same capabilities found in dedicated scoring programs. (Changes made to the score are automatically reflected in the underlying MIDI file.) A separate set of MIDI editing tools allows you to work directly with MIDI data to make permanent changes to the notated score (more on this in a bit).
Tools of the trade
Although SmartScore's recognition algorithms have been significantly improved over earlier versions, they are still imperfect. For starters, SmartScore doesn't recognize text or text-based symbols, such as tempo indications, lyrics, expression markings, alternate (multiple) endings, and dynamics abbreviations (such as mf and pp). These have to be added back into the score. Although the software does well at recognizing clefs, key signatures, meters, and crescendo and decrescendo wedges (hairpins), it does not recognize tuplets, fermatas, and trills.
For the most part, slurs and ties are preserved, but slur placement is often altered enough that many slurs have to be erased and replaced. Unfortunately, you can't simply grab a slur or tie and reposition it or change its shape by dragging with the mouse. You must first delete the existing mark and then insert a replacement. It's easy enough to do, but a bit inconvenient nevertheless. (According to Musitek, version 2 will include grab handles for many of the elements in the score, including ties and slurs.)
I tested SmartScore with several kinds of music and found some variability in the program's translation accuracy. Large, clearly printed scores seemed to work better than smaller, more densely packed scores with lots of markings. Individual instrument parts (extracted from a score) came through surprisingly well, as did several types of relatively simple music. Imported MIDI files also translated well. I had less success with guitar music, in part due to its idiomatic nature. In addition, SmartScore does not currently recognize tablature. Regardless of the type of music you scan, some correction and cleanup of the ENF file must be performed. Common translation mistakes include incorrect pitches and rhythmic values, missing bar lines, unrecognized symbols and score elements, and improper brackets and groupings. However, SmartScore's split-screen user interface makes it easy to locate discrepancies between the original and the ENF score, and the program's extensive editing capabilities make it possible to prepare and print out a respectable-looking score.
Most of SmartScore's notation tools reside on its nine floating palettes, which provide a familiar-looking environment for editing (see Fig. 3). In many areas, however, SmartScore takes a decidedly different approach to editing scores because the program centres mainly on fixing up scores derived from scanned images. Unlike most notation programs, which are optimized for creating scores from scratch, SmartScore assumes that much of your editing time will be spent adding symbols or marks that were not recognized by the conversion algorithm, or removing or replacing spurious notes and other elements.
To distinguish between various editing operations, SmartScore relies on different editing modes that are accessible from the ENF toolbar at the top of the window but best approached by using keyboard shortcuts. Pressing the C key, for example, toggles between Insert and Change modes. In Insert mode, you can deposit objects (selected from one of the palettes) anywhere in the score. In Change mode, clicking on an existing object in the score changes it to the currently selected object.
Pressing the X key toggles between Delete Any mode and Delete by Type mode. Delete Any mode lets you erase whatever object you click with the mouse. Delete by Type mode removes only objects that reside in the currently active tool palette. Notes are handled in various ways depending on whether they are individual notes or part of a chord. Insert, Change, and Delete modes work as usual with separate notes, but to add or delete a note within a chord you must first activate the Cluster tool so you can edit the notes individually without affecting the neighbouring notes in the group. (Notes sharing a single stem are treated as a single object unless you split them into separate voices.)
You can activate a handy QuickSelect function by Control-clicking on an object. QuickSelect lets you choose objects from the score rather than from one of the tool palettes. You can then perform insertion or deletion operations as usual. Myriad keyboard shortcuts let you add or subtract score elements. For example, the D key toggles between Insert a Dot mode and Delete a Dot mode; the V key toggles between Insert Tie and Delete Tie modes. Other keys affect such things as accidentals, rests, bar lines, clefs, tuplets, dynamics, and stem direction.
If all of these editing modes and toggle options seem a bit confusing, well, they are. And SmartScore's approach to editing does take some adjustment if you're used to a traditional notation program. When I started using SmartScore, I constantly found myself inserting an object when I meant to change an object, or deleting a whole chord instead of a single note. In many cases, the program didn't seem to respond predictably, which caused some initial frustration. Nonetheless, after I used the program for a while, a certain method to the madness began to emerge. Moreover, the program does what it can to keep the user interface intuitive. For instance, the cursor changes appearance to reflect the current activity, adopting the look of the selected tool and graphically indicating the editing mode.
SmartScore's design strongly encourages the use of keyboard shortcuts to speed up the editing process, and indeed, just about every tool in the program has a key assigned to it. (You can even switch between tool palettes with the Function keys.) Musitek suggests positioning your left hand so that your index finger rests on the C key with your other fingers resting on the X, Z, and Control keys. By maintaining that position, you can toggle in and out of various editing modes and clean up most common problems by combining right-hand mouse-clicks with easy-to-reach left-hand selections.
Some tools remain awkward to use. For example, the Note palette includes three beaming tools: one for beaming to the right (for the first note in a group), one for beaming to the left (for the last note in a group), and one for the middle notes. You can toggle between the three tools with a keyboard shortcut, but they still remain cumbersome to use. (Musitek plans to have automatic beaming in a future update.) Another shortcoming is the lack of horizontal repositioning capability. You can drag notes up and down to change pitch, but if you want to move a note or other object (such as a slur, rest, or hairpin) horizontally, you must first delete it, then reinsert it where you want.
To help you better visualize voice assignments, SmartScore lets you view your onscreen notation in one of two colour modes. In Part mode, each staff is assigned its own MIDI channel and appears with its own colour. In Voice mode, individual voices within a staff appear as one of four preset colours, with each voice having its own MIDI channel and parameter settings.
As part of its new recording and playback capabilities, SmartScore includes the equivalent of an entry-level MIDI sequencer. ENF files automatically generate MIDI note pitches and durations as well as various performance characteristics, such as dynamics, meter changes, and articulations. When you alter notes in the sequencer, the changes do not appear in the accompanying score unless you apply them. That allows you to modify the playback performance without changing the score's appearance-a handy feature. You can also add program changes, controller data, and meta events to the accompanying MIDI file, although these won't be reflected in the ENF score.
For viewing and editing MIDI data, SmartScore provides a rather primitive Track Overview display, a traditional Piano Roll window, and an Event List window (see Fig. 4). The Track Overview display shows the different staffs (tracks) on the left; small black bars on the right indicate the presence of MIDI notes. You can zoom in and out by dragging the vertical and horizontal dividers to shrink or enlarge the track and measure areas. I found this approach to be needlessly awkward; a pair of Zoom buttons would make a welcome addition.
The Piano Roll window takes the same awkward approach to zooming, but its other editing features are more typical in design. You won't find menus filled with editing commands and MIDI processing options, as in a dedicated sequencer, but you can easily change note characteristics and copy, paste, add or delete notes with the mouse. Dragging the left edge of a note changes its start time, the right edge changes its duration, the top and bottom edges adjust the Velocity, and the centre lets you drag the note vertically or horizontally. Double-clicking a note opens the Note Event dialogue box, where you can change parameters with numerical fields. A Measure Settings dialogue box lets you create repeats and multiple endings and change the key and time signatures and tempo of the MIDI file.
The Event List window lets you view, insert, and edit note events, controller data, program changes, meta events, and other types of data. Dialogue boxes allow you to change note parameters and to create various types of new events. Recording options include a MIDI metronome, punch in and out recording (by measure), and input quantization.
SmartScore's documentation consists of a 143-page spiral-bound user manual, which includes a few short tutorials that introduce the program's main features. (A PDF version of the manual is also provided.) The tutorials definitely help get you started, because, as I mentioned earlier, SmartScore requires a unique notational mind-set before it becomes an effective scoring tool. The documentation is easy to read, but it suffers from a number of errors; the glossary, in particular, should be avoided by music students, as it's filled with mistakes and misinformation.
Ultimately, however, the value of a program like SmartScore depends largely on how comfortable you are with the user interface and how proficient you become with the program. After all, since you're starting with a printed score in the first place, you could always use a notation program to reproduce the score from scratch and play it back. In some cases, that might actually be the logical path to take.
But for many types of scores, SmartScore provides a significant head start on the scoring process, and the program's intelligent MIDI playback capabilities add to its usefulness. In fact, SmartScore may prove to be especially interesting to users of Coda's Finale 98, because SmartScore can export its ENF files as Finale-readable files for further editing. In addition, SmartScore supports NIFF files, so it can also work with notation programs that support this nonproprietary format. NIFFViewer, a freeware utility that can open NIFF files and playback or print the music, is available from Musitek's Web site.)
If you work only with one- and two-line staves and are on a tight budget, consider SmartScore Piano Edition ($149). It lacks MIDI sequencer and doesn't allow for MIDI recording, but it imports MIDI files. Most people, however, will appreciate the full version's added versatility.
With its flexible importing and exporting capabilities and an extensive set of editing tools, SmartScore offers exciting possibilities for auditioning and interacting with printed music.