FIG. 1: To simulate a human performer''s nuance, MOR''s Tempo groove processor makes slight adjustments to the tempo of each beat subdivision (16th notes in this example). When a note''s duration extends beyond the specified subdivision, the tempo values are averaged, as indicated here by the horizontal lines under each quarter and eighth note.
Computers have become essential tools for many composers, who use them for a wide variety of musical purposes, such as trying out ideas, producing demos, and notating scores and parts. But when you step-enter music note by note, as one commonly does when composing using a notation program, playback can sound mechanical and lifeless.
That problem could soon be solved if Gershon Silbert has his way. In 2004, after four years of researching musical expression and cognition, he founded a company in Herzliya, Israel, called Silpor Music (www.silpormusic.com).
The company's core technology, a suite of algorithms called MOR (Music Objects Recognition), will be available first as a plug-in for Finale 2005 and 2006 running under Windows 2000 and XP. The company expects to have a Macintosh version soon, as well as support for Finale 2007. The plug-in should be commercially available soon after you read this article, and it will support the Music XML file-interchange format, which will be used to build translators for other notation programs and a standalone version of the software.
MOR is unique in its ability to imbue step-entered and computer-generated music with convincingly humanlike performance characteristics. The suite includes two major functional elements: the Analysis Engine and a set of Performance processors. The Analysis Engine looks at a Finale .mus file and identifies all musical objects, such as notes, chords, dynamics, and expression markings. In addition, it identifies higher-level objects, including cadences, modulations, dissonances and their resolutions, rhythmic structures, melodic structures, and voice hierarchy (for example, melody versus accompaniment).
Once the analysis is complete, the Performance processors modify the performance parameters to produce a more human feel as the music plays back. Each processor affects a different parameter (such as tempo, MIDI Velocity, and duration) as well as MIDI controllers (such as Sustain Pedal). These parameters can be applied globally and to individual notes and groups of notes, such as chords and melodic phrases, depending on the analysis of voice hierarchy.
Users define what the Performance processors do by establishing presets in an editor. You can specify a range of values, and that range can be limited by a user-defined number of beats, notes, or milliseconds. You can also stipulate which objects will be used by the processor to modify those values; Velocity, for example, can be tied to pitch and duration. Finally, you can compress the values of parameters such as Velocity and tempo to fall between two user-defined limits, and you can apply various filters that restrict the processors to specific MIDI channels, durations, and/or notes. Two groove processors — Tempo and Velocity — further humanize the playback (see Fig. 1).
Unlike the humanize function in many sequencers, MOR does not randomize events in an attempt to simulate human inaccuracy. Instead, says Silbert, “It is based on humanlike understanding of the musical context and, by extension, possible meanings or emotional messages, which can enable superhuman expressive perfection, free of any mistakes. In other words, MOR has no technical limitations when processing expressive parameters, as opposed to most human performers' inaccuracies, which are mostly due to technical difficulties.”
The Silpor Music Web site includes examples of pieces performed with and without MOR, as well as the same pieces performed by human musicians. You can also hear examples at www.emusician.com (see Web Clips 1 through 3). This technology is a real boon for composers who want to hear their work played by a computer with a convincingly human touch.