Max is a graphical multimedia programming environment. It was originally developed by Miller Puckette as a MIDI mediation language at IRCAM, and is now currently maintained and sold by David Zicarelli's company Cycling'74.
It is an ideal environment for developing two kinds of applications: realtime processing of data, such as serial input, MIDI messages, sound, video, 3D and system messages; and mapping data from one format to another in wildly creative ways.
Max is the core language, used for MIDI, basic data manipulation & interface design. MSP is the digital signal processing architecture of Max, used for manipulating frequency, or streams of numbers at extremely high speeds. Jitter is Cycling'74's extension for fast processing of large grids of numbers, or matrices. It is especially optimized at points for 4-plane grids of eight bit numbers, or video frames. It also is an extraordinarily powerful development environment for nontraditional OpenGL work. SoftVNS 2 is David Rokeby's extension for Max that allows a more specialized way of working with video input and playback.
This is a course for two different kinds of students: those interested in using Max to program installation pieces, such as physical computing projects or dynamic site-specific artworks; and those interested in developing custom interfaces for performance. Be warned: this is both a math class for artists and an art class for math people. If you do not have interest in either one of these areas, drop the class now.
A final Max programming project, consisting of an installation piece, a performance or a generative artwork, will count for 50% of the final grade.
The other 50% of the grade will depend on student participation, in the form of
The blog is here. All of you need to register on it immediately after the first class.
I am open to 4th semester students using Max in their theses for final credit, as long as it takes the form of an installation or a performance.
I am also quite open to students collaborating on final projects, or doing one project for two classes.
I will have office hours either in the main lab or at another location (you will have plenty of warning if this happens!) practically every Thursday evening, from 6-8PM. This will be the best time to reach me or ask me questions. I also check email frequently.
In late April, my wife will be giving birth, and my life is changing utterly. Office hours and class times at the end of the semester are basically TBA.
More information on me is available on my outdated and inconsistent website. My work is occasionally interesting, but not under any circumstances to be aped. You are all incredibly bright, gifted students. I have no doubt that the work you produce in this class will make mine look cheap, uninteresting and gimmicky. Make me proud.
Jan 23 | Why not to take this class. Max 101: Ints, floats, symbols, lists. How timing works. The LCD object. MIDI 101.
Homework due 1/30: This should take you at least 5-7 hours, not including the printout time. Anything less and it's fair to say that you are giving the class short shrift, and should consider dropping it now. If it takes you much more time than that, it's a fair assumption that you are doing the right thing. If you are having trouble, you should take advantage of the itp-sound mailing list. Daniel Palkowski, Luke DuBois and I assign membership of this list to our students, and many alumnae and alumni of our classes stick around. The list's prime function is a safe space for beginning Maxers to ask what they may assume are stupid questions. Hit a wall? Don't give up, and don't beat yourself up. Ask the list.
|
Jan 30 |
Showing first LCD efforts. Some more discussion of MIDI. An introduction to Jitter. A discussion of codecs and what is appropriate. Homework due 2/6:
|
Feb 6 |
Complexity and encapsulation. Jitter questions answered. Guest speaker: Adam Kendall. Homework due 2/13:
|
Feb 13 |
Showing first Jitter efforts. An intro to MSP. Homework due 2/27:
|
Feb 20 | Presidents' Day- NO CLASS |
Feb 27 | MSP continues. Review of synthesis techniques, sampling techniques, buffer~ work.
MSP Guest speaker, Hans Tammen. Homework due 3/6:
|
March 6 | Showing first MSP efforts. Mixing MSP and Jitter. Synesthesia, cross-pollination. Discussion of Midterm.
Homework due 3/13:
Patches from class are here. I've included a couple of patches you can use to browse the object help files... |
March 13 | Midterm proposal presentations.
Guest speaker: Scott Fitzgerald. Homework due 3/27:
|
March 20 | Spring Break- NO CLASS |
March 27 | Showing half of the midterms. (Determined by lottery at start of class!)
Homework due 4/3:
|
April 3 | Showing other half of the midterms.
Homework due 4/10:
|
April 10 | Video Tracking 101. Using SoftVNS, cv.jit, Cyclops.
Homework due 4/17:
|
April 17 |
Showing vidtrack/synesthesia homework. Discussion of final project. [Because of baby, this class may change!] Homework 4/24:
|
April 24 | Final project proposal. Guest speaker TBA. [Because of baby, this class may change!] |
May 1 | Final project clinic sessions. [Because of baby, this class may change!] |
May 8 | Final project clinic sessions. [Because of baby, this class may change!] |
May 15 | Final projects due. Guests encouraged at this class. |
There are no books in the bookstore for this class. All texts are in freely downloadable PDF files and web links. You are REQUIRED to print them out. Kill a tree, save your brain.
The standard platform for this class will be OS X. The lab machines will always run the latest version of the Max/MSP/Jitter releases, and you are encouraged to keep up as well.
Max/MSP for Windows XP was released three years ago. Although great strides have been made in the name of stability and capability, it remains somewhat problematic. Jitter was recently released for the Windows platform, and because of SoftVNS' dependency upon very close-to-the-metal Altivec routines, it will be a very long time- if ever!- before David releases a Windows version. There are a few installations of Max on the lab's Windows machines... You are welcome to experiment with the other side, but all work done for the class must be compatible with Max/MSP version 4.5.6 for OS X.
There is a rich tapestry of third-party extensions for Max. Many of these work very well with OS X. Installing these is quite easy if you have administrative access to your working machine- i.e. if you're working on your own personal laptop. The lab Macintoshes have the third-party extensions judged relevant and necessary by myself and Jonathan Lee Marcus, who is teaching the other section of the class. If you feel there is an extension set you would like placed on the lab machines, please talk to me; you're probably right and I'll put it on there.
There are many sites about Max on the web. This list will grow throughout the class.
There is no better way to learn Max than to ask questions. Asking questions is easy when you have the patience for mailing lists. Joining one or all of these is not required for the course, but you will find it much much easier to learn the material with community support.
your name and face here!
Last updated