A programming language for electronic music. The programming environment is graphical (as opposed to e.g. Csound); data processing modules are represented by blocks and graphical objects, and lines connecting the boxes represent data flows. Each data processing module is implemented as a dynamically linked library, making it easier for third-party developers to create new modules to extend the language.
Max/MSP originated in work done at IRCAM in the mid-1980s. The original version was capable only of processing MIDI-like control information, which was intended to control external synths; it had no audio processing capability. This part was named "Max", after Max Mathews, the pioneering electronic music software developer at Bell Labs. A later version added the ability to control audio processing functions which were assigned to a DSP, contained on an I/O board added to the host computer.
In 1990 IRCAM licensed the software to Opcode Systems for development as a commercial product. Opcode continued to develop and support the system through the mid-1990s. In the meantime, Max's original author, Miller Puckette, realizing that personal computers were reaching performance levels which made audio processing with the CPU practical, developed a new package called Pure Data. This used a programming paradigm similar to Max, but was for audio processing only. When Opcode folded in 1999, Cycling '74 obtained the rights to both Max and Pure Data, and combined them to form Max/MSP.
Max/MSP allows developers to build programs and package them together with a royalty-free runtime environment. This way, they can build and sell soft synths and plug-ins which do not need the Max/MSP development environment to run. A great many commercial plug-ins have been written in this fashion, with the users being unaware that the software is Max/MSP underneath its user interface.
The most recent version is Max 6 (the name having been shortened), released in November 2011.