TODD WINKLER: Composing Interactive Music: Techniques and Ideas Using MAX
The MIT Press, Cambridge, Massachusetts, 1998

Reviewed by Adrian Moore

This book is aimed at a specific audience - those of us who work with the object-oriented, graphical programming language, MAX (named after one of the founding fathers of computer music, Max Matthews). This program, conceived from the chequered history that is computer music, offers the composer/performer perhaps some of the most intuitive openings to programming. Winkler deals with the MIDI (Musical Instrument Digital Interface) version of MAX available from Opcode systems (www.opcode.com), running on the Macintosh platform. There are flavours of MAX that run on a variety of platforms including a program developed out of MAX by one of its original creators, Miller Pukette, called Pd which is available for the PC.

What makes this book very interesting is that it brings together much of the research that has been floating around various institutions (including IRCAM and various American universities) and e-mail lists. It is also a fantastic introduction (especially if you have a Mac and can get hold of a copy of MAX) to both MAX and how it (and you) interface with performers and the abstract computer processes you program. Winkler informs us that there is a growing future for the MAX environment and David Zicarelli, who took MAX to Opcode, has recently released MSP (MAX Signal Processing (www.cycling74.com)). With the advent of increased QuickTime and Internet support, MAX is becoming one of the tools with which to enter the interactive programming world. Its strength is that one starts with simple commands and a blank sheet of paper, so to speak, not a grid or staff or piano-roll.

Readers of this book, if novices to MAX and MIDI, could find it hard going at first - but if one can work through the exercises, learning is quickly achieved. If you have already used MAX, as had this reviewer, then the book ties many loose ends together and offers a return to some structured programming (something which this reviewer never did). It is, therefore, a most enlightening read.

Winkler is careful to define his space and the terminology used. His historical introduction is thoughtful and comprehensive, citing many well-known (and some less-well-known) composers and works. Thus, while informing us of quite pertinent details, Winkler manages to keep an informal style that presents these details in exciting ways.

Once into Chapter 3, we are programming with MAX. MAX is a fourth-generation language - its objects on the screen generate run-time code that the programmer may never see (or wish to see). Its structure is intuitive (generally time runs top-to-bottom and precedence runs right-to-left) and facilitates informative annotation. Therefore this book is also suited for teachers of MAX.

Some understanding of the fundamentals of MAX is assumed (if you can work your way through the MAX tutorial then you are adequately prepared for this book) as are simple musical terms and structures. Winkler categorises interactive music programming into three sections: computer as listener; computer as composer; and computer as performer and illustrates this with informative examples (contained within the now obligatory CD-ROM).

Winkler explains how the computer can analyse and compare input information (usually in the form of someone playing a keyboard), filter this information, add to it, store it, and finally play a response. The computer may act as a very intelligent effects box (following the performer in real time and reacting) offering the performer something unexpected in order to facilitate a quasi 'interactive process', or there may be no performer at all and the computer may generate its own performance data.

We can see throughout this book that Mr. Winkler is a competent musician who circumvents the boring details and makes programming openly accessible to users. He even offers us many programming examples from which we may build our own interactive works.

This book is valuable reference material, as it details and illustrates the powerful IRCAM objects Explode and Qlist, and newer objects like Borax and AIFFplay, offering a musical approach.

The guts of the book are devoted to good programming technique and design, analysis of musical input data, reaction to musical input data, interaction of MIDI with real (digitised) sound, be it a computer file or a track on a CD, and the complicated process of score following. Finally, Winkler offers a taste of the future with signal processing, audio-visual development, and the possibilities of controlling MAX with non-keyboard devices. He mentions the MIDI flute, designed at IRCAM, and from this we can imagine using MIDI wind controllers, drum pads and the like to enable performers on one instrument to interact more accurately with another. In addition, there are new controllers such as pressure-sensitive pads, simple potentiometers, light detectors, and movement sensors that can now all interface with the computer and therefore come under the control of MAX. The opportunities for interactive dance have already been explored at institutions around the world but the technology is now readily available, off the shelf, and is being used by installation artists and choreographers alike.

Composing Interactive Music sets out a specific brief and fulfils this - enlightening us on the way. Get a hold of a copy if you are interested in bringing computers, MIDI gear and performers under your grasp.

Dr. Adrian Moore
Sheffield University
Music Department
Western Bank
Sheffield S10 2TN
UK

email a.j.moore@shef.ac.uk