ï~~The Patcher Miller Puckette IRCAM, 11/8/88 Introduction. The Patcher is a graphical environment for making real-time computer music, currently with midi-controllable synthesizers. Its main purpose is to control the instantiation and configuration of objects in the MAX system [Koechlin, et. al., 1986 ICMC Proceedings.] The main entities in MAX are windows, which may be text editors, patchers, and function tables. (In the future, maybe also a sequence editor and a 2-d function editor.) At the moment the Patcher is the most interesting window type in MAX. MAX views a performance as a collection of independent objects which communicate by passing messages. It provides a set of subroutines for timing, midi I/O, fast memory management, and message-passing between objects. In addition there is a simple interpreter which converts text to messages and passes them appropriately. The current version runs on a Macintosh personal computer. The bulk of the MAX system is a set of classes which define the objects themselves and how they interact. The classes are highly insular; the rest of MAX has very little knowledge about the inside of any given class. As a result, the classes can be changed, added to or removed, or new ones created, with little or no effect on the performance of the rest of the system. The design of MAX aims to make a wide range of performances possible with little or no need for additional programming; nonetheless it is easy to add new functionality to the system. MAX has hooks for patching a digital synthesizer, which may just be (as now) an interpreting program in the Macintosh or may (in the future) be a plug-in signal-processing card. As a part of the work of controlling a digital synthesizer, certain objects in MAX create signal-processing elements in the synthesizer. These objects can intercommunicate by means of signals, special messages through which the objects will arrange to pass a signal in the synthesizer from one element to the other. Since this capability is still experimental, it will not be described here. Parts of MAX were contributed by Lee Boynton, Cort Lippe, and Zack Settel; brave composers who used it early (and thus helped its development) include Frederic Durieux, Michael Jarrel, and Philippe Manoury, assisted by Thierry Lancino, Cort Lippe, and Jan Vandenheede. Description of the Patcher. The Patcher presents a visualization of an object in MAX as a box in a window, showing some of the state of the object. Each box in the Patcher's window has some number of graphical inlets and outlets. A connection between two objects is represented by a segment from an outlet of one object to an inlet of another. You can create a new connection by selecting any outlet of any object and dragging to an inlet of another object; a segment appears between them. An outlet may be connected to many inlets and vice versa. Figure 1 shows an example of a patch, with three "slider" controls controlling three parameters of a stream of notes to be sent over MIDI. Outlets of a box are always on the bottom and inlets ICMC Proceedings 1988 420
Top of page Top of page