This page contains links to explanations and example Max patches that are intended to give instruction on some basic concepts of interactive arts programming using Max/MSP and Jitter.
The examples were written for use by students in the Interactive Arts Programming course at UCI, and are made available on the WWW for all interested Max/MSP/Jitter users and instructors. If you use the text or examples provided here, please give due credit to the author, Christopher Dobrian.
There are also some examples from the previous years' classes available on the Web: MSP examples and Jitter examples from 2004's class, and some other examples from 2005's class and examples from 2006's class.
You can find even more MSP examples on the professor's web page for Music 147: Computer Audio and Music Programming.
And you can find still more Max/MSP/Jitter examples from the Summer 2005 COSMOS course on "Computer Music and Computer Graphics".
[Click on an image below for a text version of the actual Max patch.]
April 3, 2007
Example 1: Count numbers, use them to play notes
Shows several of the most basic and useful Max objects.
Uses a metronome (a scheduler of timed, repeated triggering messages) to trigger a counter (which keeps track of, and reports, how many events it has received), and then uses the numbers from the counter to play notes on a MIDI synthesizer.
April 5, 2007
Example 2: Draw random multicolored lines
Shows the use of random number generators, the LCD object for drawing graphics, and the use of replaceable $ arguments in a message box. Also uses the counter and select object to note how many times something has happened, and take an action when a certain number is reached.
April 10, 2007
Example 3: Minimal loops, using a portion of a table
Shows the use of fast and slow metro objects (for individual events and longer-term events), counter objects (for cyclic repetition), random objects (for crude decision making), and table objects (for storing specific patterns of pitches and velocities) to make a minimal composer program that plays chosen patterns from within a stored melody.
Example 4: Soundfile player in MSP
Shows the use of sfplay~ to play pre-recorded sound files, the use of gain~ to control their loudness, and a few other features of controlling soundfile playback in MSP.
April 12, 2007
Example 5: Play a movie in Jitter, fade in/out, jump around
Shows the basics of displaying a movie with Jitter, and also shows the use of movie attributes to learn and use important information about the movie, how to jump around randomly within the movie, an easy way to fade the movie in or out, and how to fill the computer screen with the movie.
May 22, 2007
Example 6: Simplest way to record a sound
Shows the basics of how to record and play back a sound file.
Example 7: Record a sound, with quick fade in and out
Shows a slight improvement on the basic way of recording and playing back a sound file, fading the sound in and out quickly when recording in order to avoid clicks.
Example 8: Recording to and playing back from RAM (instead of a file)
Storing and recalling sound in RAM using the buffer~ object and the various objects that can access a buffer.
Example 9: Adding subtitles to a movie
Uses jit.lcd to draw black text on a white background, inverts the image, and then adds that to a movie.
Example 10: Colored subtitles
Uses jit.lcd to draw white text on a black background, uses that monochrome image as the color and alpha channels, colorizes the text using jit.scalebias, and then does an alphablend of the text with a movie.
More examples will be added after each class session.
This page was last modified May 24, 2007.
Christopher Dobrian
dobrian@uci.edu