Max/MSP Coding

Max/MSP is a visual programming environment for music, audio and media produced by a San Francisco based company called Cycling74. Max was first developed in the 1980's by Miller S. Puckette and was initially used for real-time synthesis of audio. There are three main parts to the current version of Max/MSP: Max, MSP and Jitter. Max is the main programming environment. MSP provides tools for audio synthesis and processing. Jitter gives you tools for working with video and image data. The Max/MSP application allows you to work with all three components and to write programs, or patches as Max calls them, to control music, audio and media. Watch this video for a good introduction to the interface of Max/MSP (note: click the view full screen tool to get the most out of it). In order to understand the kinds of projects that people make with Max/MSP watch this video in which artist Elise Baldwin explains one of her projects (it looks amazing!).

At UNSW Max/MSP is installed in the WB307 lab and the WB140 lab. In this course we will be using Max/MSP to create video and/or audio responses to the inputs we are sensing from the Lilypads or from the Dance Pads. Because we don't have the time for you to become experts at programming in this environment, we will be working with a template Max patch that each group will then customize to suit their concept.


Max MSP Patchers

Download the file:

Unzip and Open the Max-intro.maxpat in Max MSP.

Editing Max Patchers

Sub patches

To help clean up your patcher, you can copy sections into sub-patchers.
1. Copy the parts you wish to move
Edit mode (Command+Click or Command+E)
Select with the mouse
Copy (Command+C or Edit->Copy)

2. Create a new object (n)

3. Make it a sub-patcher by typeing "p sub" (and sub can be any name you can think of)

4. Paste (Command+V, or Edit->Paste)

Duplicating Output

We will fade between two videos, this will change the output modifiers so that different values are sent to left and right
1. Duplicate the new sub-patcher

2. Change all the outputs to end in 2 (eg "s rate1" become "s rate2")

Duplicating Input

We will fade between two videos
1. Duplicate the new sub-patcher (Hold ALT, click and drag the p object)

2. Inside the sub-patcher, change all the outputs to end in 2 (eg. "s rate1" becomes "s rate2")

External Input

We will now configure the patch to fade using the dance mats

1. Download the file right-click->Save Link As:

2. Open the downloaded file and copy all parts

3. Open the main fm-mapping patcher

4. Create a new sub-patcher (n, type "p dancemat")

5. Open the sub-patcher and paste

Create a new xfade Variable

6. Add a new send object (n "s xfade1")

7. Add a recieve in the "video is controlled here subpatch" to receive (n "r xfade1")

Now that we can use the dance mat to control the cross fade.

8. Now link values to the buttons on the dance mat, with message boxes. (m "0.0" m "0.3" m "0.7" m "1.0")

See if you can control saturation or rate using the middle row of the dance mat.

The new patcher will look something like this:
To download the file right-click->Save Link As: