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.
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.
This is a production class. 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 homework, class participation and attendance. All students must maintain web pages with catalogues of their homework to date and weblogs of their progress, frustrations, advice, fears and triumphs in reference to the class, learning Max and completing the final project.
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.
A note about the web pages:
If you do not know how to maintain a web page and/or a blog, it is your responsibility to learn. If you do not maintain the webpage throughout the class, you will fail it. Don't worry about making it pretty! I have zero interest in the design of your site; I just want to get a sense of how well you are doing with the material by perusing it. If you spend more than 30 minutes on designing the web pages, you are wasting your own time.
I will have office hours either in the main lab or at another location (you will have plenty of warning if this happens!) every tuesday evening, same time as the class. This will be the best time to reach me or ask me questions. I also check email frequently.
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.
Sep 4 | First class. Introduction to Max. How to run it, how to install it. A few dire warnings. Quick and dirty introduction to MIDI. Discussion of class requirements and structure. Meet and greet. Demonstration of some Max projects.
Assignment: The first 23 Max tutorials. (Max tutorial files are here, tutorial manuals are on the max manuals page. You will need both, and I recommend you keep your own copy of the tutorial files.) Set up your class website. Supplementary info: Information about MIDI. Some great images of MIDI control patches. You can download SimpleSynth for MIDI output. The patch I built in class is here. Save it as a text file, and open the file in Max. |
Sep 11 | Getting deeper into Max. Questions and answers about the tutorials. Abstractions, custom externals, bpatchers. Max programming advice. How to share patcher files.
The files I built in class are here. Assignment: Make an autonomous MIDI bot. Put it on your website. |
Sep 18 | Max and Video: Jitter I. An introduction to video file formats and video control in Max. Demonstrating the capabilities of Jitter. What is a matrix? Assignment: The first 21 Jitter tutorials. Jitter tutorial files are here. |
Sep 25 | Answering Jitter questions. Assignment: Make something cool with Jitter. Put it on your website. Here's the folder of stuff I built in class. |
Oct 2 | The basics of MSP. A brief history of computers and sound. Discussion of sound formats.
Assignment: The first 20 MSP tutorials. MSP tutorial files are here. |
Oct 9 | More on MSP. A review class, a question & answer session. Basic scripting, file manipulation, Jitter-to-MSP strategies.
here are the files from class.
|
Oct 16 | Catching up: Video tracking, OpenGL if there's time. Non-realtime techniques, making interface graphics. The class will be a little more free-form from now on.
Midterm assignments discussed. First demonstration of midterm ideas. |
Oct 23 | Midterms due today! Guests to this class are encouraged. Please have them RSVP to me. |
Oct 30 | Guest speaker: Kurt Ralske. Discussion of what is required for final assignment. |
Nov 6 | Guest speakers: Jeremy Bernstein and Luke Dubois, video artists and composers, and two of the programmers of Jitter. |
Nov 13 | Guest speaker: HC Gilje. HC builds video installations and collaborates with Kurt in 242.pilots. Further discussion of what will make a final. |
Nov 20 | Final project proposals and presentations due. All students must present final proposal ideas.
|
Nov 27 | No class; Thanksgiving break. |
Final project clinic sessions. NOTE CHANGE IN DATE!! | |
Dec 11 | Final project clinic sessions. |
Dec 18 | Final projects due. Photo album of final is here! |
There are no books in the bookstore for this class. All texts are in freely downloadable PDF files and web links. You do not have to print them out, but some of you may find it easier to do so.
The standard platform for this class will be OS X. Max/MSP for OS 9 is no longer actively developed by Cycling '74, and now that all of the Design & Technology lab computers are running OS X, it seems silly to continue to work with OS 9. We will use OS X in classroom sessions, and the idiosyncracies of dealing with OS 9 Max applications will no longer be actively taught. We will work with Max/MSP version 4.2 until after 4.3 leaves beta. Please only use the 4.3 beta if you are prepared for problems occasionally, OR if you have a strong desire to share files with Windows-based Max users.
Max/MSP 4.3 for Windows XP was released in late August. Jitter remains in beta for the Windows platform, and the school has not yet bought licenses of the Windows software. You are welcome to experiment with the new port, but all work done for the class must be compatible with Max/MSP version 4.2 for OS X. This may be the final semester of Mac bigotry in this class, depending upon the release schedule of Cycling '74.
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 third-party software we are putting on the lab machines is contained in a stuffed archive here, for those of you playing at home.
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.
Last updated