Max Workshops: Introduction to Max/MSP & Jitter

in Blog

3 December 2006

A slightly academic introduction to a series of short practice-based Max/MSP workshops aimed at beginners in technology in the performing arts. In this workshop, an overview of Max/MSP and it’s capabilities will be presented alongside an introduction to the Max methodology.

What is Max/MSP & Jitter?

Max/MSP & Jitter is a visual programming language capable of real-time audio and video synthesis and processing. It is aimed primarily at musicians and digital artists.

The Max part of the Max/MSP and Jitter environment is usually referred to as the underlying messaging structure on top of which MSP (for audio) and Jitter (for video and animation) were developed.

Max was originally developed to control external music technology devices such as synthesisers and samplers, hence it’s full support of the MIDI protocol. MSP was later added to provide internal software audio processing capabilities, so external hardware became less of a requirement. As computers became more powerful, Jitter was developed to add support for real-time video processing.

Where to get Max

Max and MSP are now only available together, downloadable as a single application. Jitter is sold as an add-on. Both the Max/MSP and Jitter components support Mac OS and Windows, however at time of writing, they tend to be more reliable on the Macintosh platform.

Max/MSP and Jitter can be downloaded from the Cycling ‘74 website and without restriction for 30 days. After this period, patches can be run but not edited. The programme can be then unlocked by purchasing a license from Cycling ‘74.

Max cannot evolve, but it does expand

Max/MSP was developed in Paris in the 1980’s. Paris was at this time, and still is, a center for new music. For this and other reasons, the vast majority of works which incorporate any form of electronic processing use Max/MSP to realise the live electronics. These early Max/MSP patches still need to work today and consequently, each new version of Max/MSP has to be 100% back-compatible. Max/MSP, therefore, cannot evolve.

Whilst the basic Max methodology has little changed over the last decade or so, there are some notable additions, the biggest being Jitter. Max/MSP 4.6 (the current version) also supports Java and JavaScript, has good networking capabilities and ships with the omx MSP dynamics library.

Max, documentation and archiving

It could be argued that Max/MSP is not only a programming language, but also an important documentation and archiving system. The many Max patches (a Max patch is basically a document written in Max) distributed by publishers with many recent works not only describe exactly how the live electronics work, but also executes the electronics. The documentation and implementation of live electronics have become fused. If they had been kept separate, a newer and more computationally powerful environment would be able to reconstruct the implementation as new computer systems are used. This notion of inseparable documentation and implementation compounds the argument above that Max/MSP is unable to evolve if it is to remain back-compatible.

Max and the graphical user interface

Unlike traditional programming languages which are entirely text-based, Max/MSP is graphical. It’s functions (or objects, to use the slightly misleading Max terminology) are graphical boxes which can be positioned on a canvas (the “patch”) and are connected together with patch cords. However, this is also how the graphical ‘widgets’ such as sliders, number boxes etc., are displayed. There is little conceptual distinction between the functional elements and the graphical user interface elements – in fact certain graphical user interface objects actually carry out functions.

As programming languages evolve, certain practices emerge. One of the most striking is the MVC, or Model, View, Controller, paradigm. It is now considered good practice to separate the graphical user interface (the controller) from the functions (the model).

However, MVC programming is a complex professional methodology and Max/MSP would be out of the reach of even the most technologically capable musicians and artists if it followed this trend. As it stands, Max/MSP, thanks to it’s instant connection between user interface and function, is a relatively simple and extremely quick prototyping tool, if a little frustrating to use at times.

Back to Blog