Matt Wright and Adrian Freed, revised August 2006

Our 2007 Max/MSP Workshops are available for reservations...see the announcement here.


Please visit our new Max/MSP downloads page.

It contains the current versions of the dozens of Max/MSP externals that CNMAT has released, plus an automatically generated archive for each platform containing the most recent version of each object for that platform.

Max/MSP Workshops

CNMAT has taught week-long Max/MSP workshops every summer since 1998. You can download the resulting tutorial and example patches for many of these years: 1998, 2001, 2002, 2003, 2004, 2005, 2006. For info about upcoming CNMAT workshops, contact Richard Andrews.


CNMAT has been actively involved in the development and application of the Max system from its invention by Miller Puckette who worked in David Wessel's Personal Systems group at IRCAM in 1986. After Professor Wessel moved to Berkeley to direct CNMAT, he used MAX as the central teaching tool in the Music 158 course. This was a rigorous test bed for early versions of the commercial version developed by Miller and David Zicarelli and distributed for many years by Opcode. With the addition of Cycling 74's MSP, Max is a complete environment for building reactive real-time sound synthesis and processing applications.

One of the most interesting features of MAX is its "externals" framework. This is a plug-in architecture that allows C programmers to add primitives to the language. Over the years CNMAT staff and students have developed many externals, some of which have been integrated as standard features of MAX (for example, multislider, LCD, and Borax). Also, by experimenting with new features of existing externals, we have suggested many enhancements to the rich set of objects available in the language. Recent contributions focus on the signal processing capabilities of MSP.

David Wessel's "MTP" ("multi-timbral player") patch, an example of multi-timbral music representation and playback, is now distributed as part of the example patches that come with Max.

The multislider object grew out of Adrian Freed's workon the Aegis system at Bell Labs, and user interfaces developed for MacMix and HyperDSP. It is interesting from the user interface design perspective because it integrates display paradigms usually thought of as distinct into a coherent object. It can fulfill the functions of bar chart displays, strip charts, sliders and curve entry. Here is the original specification Michael Lee started the coding from.

The udp object was developed to control HTM sound synthesis servers running on SGI machines. It was also used to transmit digital video and MIDI accross the campus in an early frame relay experiment sponsored by Pacific Bell in conjunction with the UC Berkeley EECS department. This application in MAX is related to work in Professor Larry Rowe's multimedia group using TCL/TK. This work was picked up by CNMAT's work on the Open Sound Control protocol.

The lcd object was developed to disuade a sponsor from integrating a two-line LCD display into a new music product. The idea was to simulate their intended interface in Max and demonstrate by usability testing that such interfaces are really poor. Mike Lee generalized the original features required (text strings and little icons) to include the Macintosh graphics primitives make LCD the Max drawing object of choice. LCD has been completely rewritten at least once since CNMAT donated it to Cycling 74.

Related Work

We have developed a new programming environment, OSW, that incorporates many of Max/MSP strengths, but with a much more flexible type system, cleaner scheduling semantics, and open source.


Here are some downloads of Max/MSP work that is no longer active at CNMAT and not supported in the slightest:


Archive of the Max mailing list

Cycling '74