|Vol. 25 Issue 2 Reviews|
|David Cope: The Algorithmic Composer|
A-R Editions, Computer
Music and Digital Audio Series, Volume 16, 2000, softcover, ISBN 0-89579-454-3;
US$ 49.95; 302 pages; illustrated, bibliography, index, comprehensive index
(to CMDAU, Volumes 6, 12, 16), CD-ROM; A-R Editions, Inc., 801 Deming Way,
Madison, Wisconsin 53717-1903, USA; telephone (800) 736-0070 or (608) 836-9000;
fax (608) 831-8200; electronic mail email@example.com;
World Wide Web www.areditions.com
David Copes newest book, The Algorithmic Composer, is the third installment of a trilogy, of which Computers and Musical Style (1991) and Experiments in Musical Intelligence (1996) comprise the first two volumes. (These two books have also spun off three commercially available compact discs on the Centaur label: Bach by Design, Classical Music Composed by Computer, and Virtual Mozart.) All three volumes share the following compelling premise: "every work of music contains a set of instructions for creating different but highly related replications of itself. These instructions, interpreted correctly, can lead to important discoveries about structure and possibly style." The first two books describe in detail Mr. Copes method both for extracting these instructions into a database and for putting the instructions to use in the creation of novel works which are arguably in the style of the music contained in the database.
While the objective of the first two books is the use of "recombinancy" to create entire compositions in the style of the works in the database (by Mozart, Bach, Joplin, etc.), The Algorithmic Composer has a somewhat different orientation. The software program described within, ALICE (ALgorithmically Integrated Composing Environment), is intended to function as a collaborative, interactive creative assistant, rather than as an independent virtual composer. The emphasis is thus on the augmentation and extension of user-composed music rather than on the creation of completed works. Mr. Cope envisions a working environment in which a composer, moments after creating a phrase of music, could request ALICE to spin out several stylistically consistent variations and transformations, which the composer could then consider as possibilities for inclusion in the work at hand. ALICE would also grow in "understanding" as the work proceeds, giving progressively more honed responses. As the importance of the current book lies equally with the quality of the software that is described within as with the prose contained in the book, the following offers both an overview of the program as well as reflections on the text.
The success or failure of ALICEs output critically depends upon the quality of the database it works with. The pieces of music in the database must all be massaged into a similar formatthey should resemble one another with respect to meter, tempo, and so forth (this is to facilitate pattern-matching). The process by which databases are created is more or less the same with ALICE as it is with Mr. Copes Experiments in Musical Intelligence (EMI) program, and the author refers the reader to the second volume of the series for more information on this important process.
Once a robust database has been created, ALICE is ready to begin deriving rules from the music, rules which attempt to "extrapolate basic principles from examples." This extraction of rules makes several powerful operations available. The user can view the rules from a given musical database and compare them to rules derived from another database, which may yield potentially important insights. Also, users can change the rules directly, taking, say, rules for pitches from one database and rules for rhythms from another. These types of transformations are all possible because ALICE works not with actual musical data, but with principles derived from the data.
One of the primary issues involved with analyzing the database is the determination of "grouping size," that is, how to segment the music into meaningful chunks. When the sizes are too small, the results will be too random sounding, and when they are too large, too much of the source material will come through unchanged. ALICE addresses this problem with a "smart," variable grouping size, collecting the vertical simultaneities that are present at the onset or termination of an event. This is, incidentally, only one example of the many quite tricky problems for which Mr. Cope has forged elegant solutions.
Once the grouping process is complete, ALICE analyzes both the pitch-class set content and voice-leading of the groups. This analysis will later closely guide the creation of new music. It is supplemented with a generalized notion of scale. In this context, scale simply refers to the predominance of some pitches over others. When faced with music in which all pitches are present more or less equally, the scale is simply mapped as a series of half steps. This definition of scale implicitly contains the notion of both scale degrees and non-scale degrees, thus subsuming tonality, modality, and atonality all under the rubric of a single system of analysis, without the need for special considerations on the part of either the programmer or the user.
Mr. Cope devotes a chapter entitled "Creativity" to the various tools the program uses to come up with new material based on the analysis described above. As one would expect, most of the techniques are tasks that composers often do "by hand." These include such things as reversing the order of a chord progression, inverting the voice motion, using "similar" yet distinct sets, and so forth. The computer, however, offers at least two important qualities not present in humans: blazing speed, and the ability to rapidly cross-reference a large database of stylistic constraints. ALICE can thus present unlimited amounts of (arguably stylistically consistent) variations on the core materials at hand, something composers generally dont have the time to do.
ALICE also goes beyond mere variation of rules. For example, it can create entirely new voice-leading motions that have no precursors in the original rules or in the database of music from which the rules were derived. This is accomplished by keeping track of various lexicons (a lexicon of all pitch-class sets, a lexicon of all voice-leading possibilities, etc.), and "improvising" new rules that, while not present in any single lexicon, are consistent with all of them.
Left to their own devices, rule-based composition programs will tend to wander aimlessly (as anyone who has experimented with common implementations of algorithmic composition is well aware). ALICE therefore seeks to impose a larger structure on its creations, by first searching for, and then inheriting, structure from the music in its database. The program searches for structure in the music by looking for "meta-patterns," middle-ground patterns which repeat over the pieces duration and which are not necessarily contiguous. The structural composition rules are then made to conform to the general shape of these meta-patterns.
ALICE uses a special pattern matcher to aid in the location of these hierarchical patterns. The pattern matcher evaluates foreground material in terms of "importance," and then discards all elements falling below a certain threshold. The matcher does its work by utilizing a series of weightings; these are an attempt to quantify "salience." They refer to such things as the interval of approach, duration, metric placement, and scale degree. These weightings are then filtered according to different threshold levels (only those greater than some numerical threshold pass through the filtering). Events that successfully pass through a variety of filter threshold settings are deemed significant. The program then searches for other instances of the resultant pattern. This method has the ability to reveal structural patterns that are hidden below apparent surface dissimilarity, a process which is similar to the Schenkerian aim of extracting middle-ground patterns. Unlike Schenkerian analysis, however, it (refreshingly) makes no assumptions about what the underlying patterns should look like.
In addition to seeking out middle-ground meta-patterns, ALICE also attempts to analyze the large-scale structural flow of the works in its database. This is accomplished with a tiered approach. First, the program seeks out obvious major thematic areas. If this search fails, the program searches for areas of contrast, changes in density, or shifts in the composite rhythm. In addition, the structural analysis is combined with cadence mapping, for Mr. Cope believes that "cadences represent the hierarchical linchpins of most musical styles, and thus form the backbone of their structure."
Certain styles of music are not especially amenable to these types of analysis (such as those in which thematic areas are continually overlapped). In these cases, rather than using randomness to determine structural proportions, ALICE uses proportions found on a lower level of structure to guide higher-level decisions. This is another elegant decision that produces results which, while not always consistent with the given models, are nonetheless guided by some kind of palpable trajectory.
A simplified version of the software, including source code, is included on a CD-ROM accompanying the book. The manuals included on the disk supplement the overview of the program that is included in the book. The program can read MIDI files created with other programs, and also contains a rudimentary notation program for inputting music. One caveat is that the version of ALICE that is included does require the rather expensive Macintosh Common Lisp (MCL) application to run although expiring demo versions are available for free from the Digitool Web site).
This book is guaranteed to be fascinating reading for anyone who has ever given serious thought to the problem of teaching computers how to think about music, or to anyone interested in the attempt to precisely describe musical style (including composers, theorists, musicologists, and even critics). Not only has Mr. Cope done a remarkable job of steering a persuasive course through a thicket of knotty issues (and thus opening a door for truly substantive and musical work in the field), but he has also shown that the current state of the art is already capable of producing "real music." There may be some minor quibbles with the book; for example, the attempt to at times provide a Lisp quasi-tutorial is most likely too little information to be of genuine help to the neophyte Lisp programmer and breaks the flow for those already familiar with the language (a digression on the relative benefits of looping versus recursion comes to mind). On a similar note, Mr. Cope is so clearly taken with the mechanics of it all that he sometimes explores relatively peripheral issues (such as the precise procedure by which the program reduces sets to prime form). However, we should be happy that he is prone to such attention to details, as it is precisely this trait that has enabled him to take on and conquer some of the biggest issues in computer-assisted composition and then describe it all to us in lucid prose, copiously annotated with clarifying figures, source code, and audio examples.