Due on Sunday, November 23, 2008 @midnight
In this assignment, you will be introduced to Max/MSP and the fundamentals of MIDI. You already know visual programming from Quartz Composer, so you should grasp the concept quickly.
The first thing you should do is familiarize yourself with Max. Max/MSP comes with some excellent tutorials to get you started. We recommend you go through at least the first four tutorials; more if you have the time. The tutorial and other documentation can be found on the notebooks:
Max is a great application for quickly developing computer music applications using MIDI. If you're not familiar with MIDI already, here is a good introduction (wikipedia.org).
Your assignment for the week is to create a Max/MSP patch that contains a virtual piano keyboard and outputs MIDI notes in response to mouse clicks. The MIDI note should sound for one second on each mouse click. Also add a slider that allows the user to change the instrument.
This assignment is to be completed in groups of 2. Make sure to work with new partners.
Some objects that you may find useful:
To hear the MIDI output from Max, you need to have a software synthesizer, since the soundcards on Macintosh computers do not have a built-in MIDI synthesizer. We suggest one of the following applications:
GarageBand is already installed on the lab machines (you can find it under
/Applications/GarageBand). When you open GarageBand with a new song, it will have one track called "Grand Piano". Double-click on that track, open the details triangle at the bottom of the window and set the ``Generator" pop-up menu to "DLSMusicDevice" (see picture, below). This will allow you to use MIDI control messages to change the instrument.
SimpleSynth is, as implied by its name, an easy to use software synthesizer. It is not installed just yet, but you can download it and copy the application from the disk image to your home folder. Once SimpleSynth is launched, you need to select the MIDI source called``from Max/MSP 1" in SimpleSynth (see picture, below).
Some ideas for extra credit for this assignment:
- Play a note in response to a key press on the computer keyboard. For example, pressing the "C" key plays a C note, etc...
- Play a chord in response to a mouse click on the piano keyboard. For example, clicking on the "C" key will result in a C3 and C4 note being outputted.
- Play a sequence of notes in response to a mouse click on the piano keyboard. For example, clicking on the "C" key will result in the notes of the C major scale being outputted one after the other.
Email an archive of your assignment to
Your assignment archive should include your Max/MSP patch file. Include a short plain text
README file that contains:
- the names and email addresses of all group members
- a short description of what your patch does
- non-obvious things you did (if any)
- if you did any extra credit work, be sure to tell us what you did
Be prepared to discuss your solution in the next lab.
The assignment will be graded on the following rough scale:
- 1.0 - exceptional work that clearly went above and beyond what was given on the exercise
- 2.0 - exercise was completed satisfactorily as per the assignment specification
- 3.0 - exercise was completed, but has some problems
- 4.0 - incomplete exercise
- 5.0 - little or no effort was put into the exercise
Late assignments will be graded with a penalty of 0.5 per 24 hour period after the due date.