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 3d graphics work.
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
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 would be pleasantly surprised to see collaboration between students in different sections, as well.
In my experience, people who are quiet in class fall into two categories: those who understand the material completely and are bored, and those who are terrified because of their ignorance. If you fall into the first category, your work had better be incredibly impressive, because you should be inspiring the class to work harder and learn more, so everyone else can get up to your level. If you fall into the second category, you should have dropped the class.
What I mean to say is this: there is practically no excuse for reticence in my classroom. We have a lot of material to get through, and I talk fast. If you don't understand something, and you don't immediately speak up and say that you don't understand, you are asking for trouble come midterms and finals time, because I will have been laboring under the assumption that you knew it all.
POOR ENGLISH LANGUAGE SKILLS ARE NOT AN EXCUSE. TALK ANYWAY.
I am the kind of teacher who wants to be surprised and challenged by my students.
My time in the lab is for working with students on ideas and techniques which may not have been covered in class, so that projects can be better developed and independent work can be done. They are NOT for retreading issues I had believed were completely understood.
You will never look bad in my eyes for admitting you don't understand something.
You will look terrible if you do not.
I will have office hours either in the main lab or at another location (you will have plenty of warning if this happens!) at a time to be announced after the first class of the semester. 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.
This year, for the first time, I will be teaching two simulteneous sections of Vision and Sound. Students from one section are welcome in the other. If you must miss a class, you are welcome to make it up by attending the alternate section. Please notify me in advance if you plan to do this. Be warned that the focus, speed and flavor of each section will most likely veer in different directions as the semester progresses.
|Class 1 (Section A: 9/10; Section B: 9/6)||Why not to take this class. Max 101: Ints, floats, symbols, lists. How timing works. The LCD object. MIDI 101.
Due for class 2:
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.
I am aware that section B has more time to do this; that is no excuse for section A slacking. I still consider this a week's homework.
|Class 2 (Section A: 9/17; Section B: 9/20)||
Showing first LCD efforts. Some more discussion of MIDI.
Due for class 3:
|Class 3 (Section A: 9/24; Section B: 9/27)||
Jitter 1: Quicktime and camera input. Complexity and encapsulation.
Homework due Class 4:
|Class 4 (Section A: 10/1; Section B: 10/4)||
Jitter 2: Matrix manipulations and intermediate tricks.
Homework due Class 5:
|Class 5 (Section A: 10/8; Section B: 10/11)||Jitter 3: Jitter assignment presentations.
Homework due class 6:
|Class 6 (Section A: 10/15; Section B: 10/18)||MSP 1: Sound file playback and manipulation (Taught by R. Luke DuBois!!)|
|Class 7 (Section A: 10/22; Section B: 10/25)||MSP 2: Synthesis and Synesthesia.
Guest speaker 10/25: Hans Tammen of Harvestworks.
Homework due Class 8:
|Class 8 (Section A: 10/29; Section B: 11/1)||MSP 3: MSP assignment presentations. (Hans speaks 10/29)
Homework due Class 9:
|Class 9 (Section A: 11/5; Section B: 11/8)||Midterm project proposal presentations and clinic sessions.|
|Class 10 (Section A: 11/12; Section B: 11/15)||Midterm clinic sessions.|
|Class 11 (Section A: 11/19; Section B: 11/20)||
Due Class 12:
|Class 12 (Section A: 11/26; Section B: 11/29)||Final project proposal presentations. Guest speaker Scott Fitzgerald.|
|Class 13 (Section A: 12/3; Section B: 12/6)||Final project clinic sessions.|
|Class 14 (Section A: 12/10; Section B: 12/13)||Final project clinic sessions.|
|Class 15 (Section A: 12/17; Section B: 12/20)||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.
Here's a sad truth: People who bring Mac laptops to my class will have a distinct advantage.
I am a Macintosh bigot, and have been so for decades. Windows, especially Windows Vista, is a subpar environment for the software we will be using for this class. Driver issues, DirectX inconsistencies, idiosyncratic audio tools; the reasons for my warning are legion. I can fix problems like that on the Mac side, but not on the Windows side. Working with a Mac will save my time and yours.
Max is an idiosyncratic environment. You will, over the course of the semester, develop a workflow for your patches which will be greatly dependent upon the general workflow of your own computing environment. Having your own laptop is the easiest way to deal with this. Even the low-cost Apple MacBooks will be superior to using Windows or depending upon the lab computer infrastructure.
You are encouraged to purchase a limited-time student license of Max/MSP/Jitter from Cycling '74. Start saving your quarters now; those of you who wish to continue to the Max 2 class may find yourselves in need of the real $450 thing.
That being said, most of the lab machines have up-to-date copies of Max/MSP/Jitter on them. Use them in a pinch, but I cannot recommend relying upon them, and will not accept tech issues as excuses for late or incomplete homework.
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. 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.
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.
|Yu-Lan "Celine" Hung||Mina Karimi|
|Meng Hsun Wu||Meha Pande|
|Matt Betancourt||Jeanne Joshi|
|Hee Jung||Eduardo Menendez|
|Danny Durtsche||Carolina Torres|