In this assignment, you are going to use Max to make your own MIDI instrument.

User Interface

For the user interface, you are welcome to use special-purpose musical user interface (UI) objects (like kslider and/or nslider), or general-purpose UI objects like dial and slider. The user will probably play your instrument with the mouse or keyboard or some combination of the two. If the user interaction is limited to clicking a toggle, then your instrument probably won’t be very fun to play, so be sure to give users something to adjust, manipulate or twiddle with. You might also want to put some of the elements of your patch into presentation mode, to make your instrument easier to play.

MIDI Output

To create the MIDI output, you will use one or more pairs of makenote and noteout objects. You are also welcome to use pgmout to change the MIDI program, so your instrument sounds like something other than a piano.


MIDI instruments sound robotic if you don’t put any randomness in; if you put in too much, however, they just sound random. Explore ways to introduce limited randomness to pitch, velocity, duration, timing, note choice, etc.

Musical Goodness

Don’t forget to experiment with changing tempos, chords or chord progressions, melodies, or something else musical! This doesn’t have to be musically sophisticated, as long as it sounds interesting to you.

Please e-mail me if you have any questions or concerns.