I used to dream of creating robot bandmates that would stay on the beat, show up on time, and follow my directions. That robot band is still a fantasy, but today, it is possible to create virtual musicians in software that listen and react to other players. This kind of music, in which computers follow along with and participate in real-time performances, is commonly called interactive music. For those interested in delving into this new but growing genre, Todd Winkler's book, Composing Interactive Music: Techniques and Ideas Using Max (paperback, $34.95; cloth, $54.95), is an excellent place to start.
Winkler has been writing interactive music for many years, and it is obvious that he understands his subject thoroughly. Even better, he has a wonderful ability to present his ideas clearly and concisely to beginners. Composing Interactive Music works well as a step-by-step primer and would be ideal as a textbook for an interactive-music class.
The book begins with a quick history of interactive music, providing context without getting bogged down in details. Winkler then defines three basic types of interactions, comparing them to string quartets, symphony orchestras, and jazz combos. He also wisely points out that, because the computer is a new instrument, we can find new ways of structuring and playing music with it. These concise discussions are well done and provide a solid foundation for the remainder of the text.
Next, Winkler begins his discussion of how to create interactive software, the central subject of the book. Composing Interactive Music is focused entirely on how to make interactive music using Cycling 74's graphical composition program Max and is just as much a tutorial on Max as it is one on interactivity in general. PC users are left in the cold here, because Max currently exists only on the Macintosh platform (a Windows version is expected in the first quarter of 2002). However, Winkler's decision to focus on Max was an intelligent one: Max is a sophisticated and established program with an intuitive interface, but until now, it has lacked a high-quality reference book that tells users how it works and why it is a powerful, creative tool for musicians. Composing Interactive Music fills this gap admirably.
Beginning in Chapter 3 of the book, Winkler explains how to create interactive software. At every step along the way, he demonstrates how you can realize these goals in Max. He begins with fundamental programming concepts, and he soon introduces Max “objects,” which are the graphical boxes that perform all of its algorithmic actions. Winkler continues with how to connect objects to generate output from Max. Commendably, even Winkler's first example produces interesting musical results. This immediately demonstrates Max's usefulness and entices the reader to continue.
Chapters 4 and 5 explore the larger issues of programming structure and interface design. Though these topics sound less than exciting, they are crucial to building effective and reliable virtual musicians. Winkler keeps the discussion interesting by using Max to construct MIDI delays, computer-improvised melodies, chord sequences, filters, and more.
With the foundation in place, the text proceeds to more sophisticated topics. Chapters 7 and 8 cover methods for teaching computers to listen, remember, and react to rhythms, melodies, and chords played by the user. Fortunately, Winkler's presentation remains clear here as he opens the doors to amazing possibilities. These two chapters are the best in the book, providing techniques that can transform the computer into a responsive musician.
The last three chapters move to quite advanced levels. These include MIDI System Exclusive messages, performance-synchronization techniques, and interaction with video, graphics, and dance. The text provides solid introductions to the more esoteric issues for interested readers.
Music to the Max
Overall, Composing Interactive Music is a lucid and valuable initiation into the new world of interactive music. Musicians beginning to explore Max should pick up a copy immediately, as this text will speed and clarify their understanding immensely. For added convenience, the book includes a useful CD-ROM containing software versions of all the Max examples presented in the text.
The book's greatest limitation is that it does not discuss Cycling 74's audio synthesis and processing software program MSP, which is now the most intriguing part of the Max system for many composers. However, Winkler's techniques can easily carry over to MSP, and so this limitation does not invalidate his book. I hope that Winkler will revise the text to address these possibilities, but until that happens, he has certainly given us a wonderful start in Max and interactive music.