jMax home page @

A brief history of MAX

by  Francois Dechelle

Max’s history starts with the Patcher editor, written by Miller Puckette for the realization of Philippe Manoury’s piece Pluton. Patcher was running on a Macintosh and did only MIDI and control processing, the 4x doing the DSP.

Patcher was then licensed to Opcode, where it was re-engineered by David Zicareli and became known as Max/Opcode, introducing many enhancements in the GUI and the "external objects" development kit.

The Ircam Musical Workstation project, started in 1989, introduced a new version of Max which added real-time processing of audio signals, the processing algorithm being described in the same patching paradigm. This software was distributed under the name "Max/ISPW", ISPW (Ircam Signal Processing Workstation) being another acronym for the Ircam Musical Worsktation. Max/ISPW was in fact made of two components, one being the graphical user interface running under NeXTSTEP, the other being a small real-time execution engine named FTS (for "Faster Than Sound" :-) running on the ISPW board based on Intel’s i860 processor.

The Ircam "Real time systems" team, created in 1995 by Fransame time, the development of PD was started by Miller Puckette. He was aiming to remedy some weaknesses of Max in the field of dynamic data structure management, using some of the ideas of the ISPW Animal program. PD uses a two-component architecture similar to Max/FTS and brings portability to the graphical side via the adoption of the Tcl/TK toolkit.

Reusing the PD audio part, David Zicarelli released late 1997 the MSP ("Max Signal Processing") package for Max/Opcode that brings real-time synthesis and signal processing to Max/Opcode on PowerPC Macintosh platforms.

Finally, the emergence of Java gave, among other advantages, the possibility to realize graphical user interfaces that are multi-platform. The re-implementation in Java of the Max/FTS graphical user interface started late 1996, and the name jMax was given to this new variant of the MAX family.