Ma(r)xTutorials  (Rev. 12.2013 ... a modest expansion and clean-up of last year's major revision.)

An idiosyncratic collection of tutorials, demos, and "tools" focusing entirely on Max objects (i.e. no MSP or Jitter objects)
and aimed primarily at true beginners who are just trying wrap their heads around this open-ended program. 


... blah, blah, blah, yeah ... I might read this someday, but I wanna get started RIGHT NOW!

Over the years, I have watched many students dive into this deep ocean of a program and start trying to swim to France before mastering the basics. They usually end up thoroughly frustrated. Consequently, I still think there is valid pedagogical justification for focusing on learning the "ins and outs" of the Max interface and the basic manipulation of numbers and messages before getting seduced by all the cool things MSP and Jitter allow you to do. It has never been my intention to create a thorough set of tutorials covering all aspects of Max. Quite frankly, I would consider myself unqualified even to attempt such an undertaking. The program, after all, comes with plenty of tutorials. Beyond that there are now several well-written books that provide a more-or-less thorough course of instruction: the venerable Composing interactive music : techniques and ideas using Max (Todd Winkler MIT Press, 1998), Electronic Music And Sound Design - Theory And Practice With Max/Msp (Alessandro Cipriani, Maurizio Giri, Contemponet 2010), Max/MSP/Jitter for Music: A Practical Guide to Developing Interactive Music Systems (V. J. Manzo, Oxford University Press, 2011).

I originally created and compiled this set of demos years ago to fill what I perceived was a gap in available resources that continues to this day.  If you are familiar with the Basic tutorials that come with Max and have tried to teach novice students (or yourself) using them, you may well share my conclusion, that they are too abstract. For example, when this package was first put together, you had to wade through the Basics tutorials until you reach Tutorial 19 before you actually get to hear anything as a result of all your efforts with Max. Even then, you simply get a little note-making routine dropped into place at the bottom of the patcher window, almost as an afterthought, without any explanation of that part of the program. So unless you’d gotten bored with the Basics tutorials and skipped ahead to the MIDI Tutorials, you might not even
understand the note-making routine in that patch. The other aspect of the built-in tutorials that seems to slow down and frustrate many students is the need to switch back and forth between the wordy documentation file and the bare-bones demo patches, with their reliance (over-reliance, IMO) on printing text to the Max window using the [print ] object.

In contrast, most of my demo patches are self-explanatory, with enough commentary so that
even a novice or beginning student can quickly get the patch to "do its thing" ... and be able to explore the interactivity aspects immediately, with out a steep learning curve or a lot of set-up time. Another common denominator for my collection of otherwise eclectic examples is that nearly all of them make  some kind of sound immediately. Lastly, I think simply giving beginning students access to a wide array of simple examples is very good way for students to get an idea of what the program is capable of and quickly decide what aspects and possibilities of the program will be most interesting for them to explore with further reading and study.

The origins of these different patches themselves are varied: some are obviously purely pedagogical, some come from my own earliest attempts at figuring out the program on my own, quite a few have their conceptual origins in student projects that required varying degrees of polish (and more informative comment boxes) before they were suitable for inclusion in this collection.  In the couple of instances where contributions were more substantial, I have given credit. Otherwise, I'm basically the one to blame for the rest of this "mess." Speaking of "messes" ... my approach in these examples is to include nearly all the programming details on the surface level. Aside from the fact that these are mostly very simple patches, I think it's pedagogically sound approach, at least when teaching beginners. I think there are enough examples of sub-patchers included to teach the concept successfully.

I offer these comments as an explanation for why this collection so eccentric and why I still continue to use it in my own teaching. I make no guarantees regarding this collection of demos. They may be used and distributed freely as long as credit is given.

Mark Phillips
phillipm@ohio.edu
http://www.ohio.edu/people/phillipm/
You may also want to check out other Max-related teaching files at the above website.

Important Note on MIDI input and output:
MIDI input and output ports are not specified in these demos. To set them up appropriately for your studio environment, you may need to double-click on the [noteout] [midiout] [pgmout] or similar object then choose the port/device you want from the pop-up list. 
Technical Stuff: Most of this work was originally created using Max 3.6.2 and Mac OS 8.6 before MSP objects were added to the program! It has been updated and modified quite a bit over the years -- most recently for Max 7. Most demos are set-up to use MIDI channel 1, though some utilize additional channels adjacent to channel 1, and a few use channel 10 for GM drum sounds. However most can easily be re-assigned to any other channel. Except for those utilizing channel 10, most demos will work fine with a generic piano program, but some load different GM patches mainly for variety or effect. (But on those demos, you can easily change to whatever sound want.) It's best to have your keyboard set up with MIDI local off, so all MIDI passes through Max before being acted upon by the keyboard. 



Suggestions for Getting Started Right NOW!
For true novices -- those just beginning to work with Max for the first time, I seriously recommend that you .....

1) watch Cycling 74's short, but excellent introductory video:
    < http://www.youtube.com/watch?v=cSatrZW4XLI >

(Be forewarned... the demo does not show how they produce that cool synth sound.  If you just follow along with their video instructions, you will hear a synth piano playing the notes you are generating.  Don't worry, you will soon know how to play different instruments ... and soon enough how to make your very own cool synth from scratch.

2) Work your way through all the patches in the folder named 1_Max_Basics.
I promise it won't take long, they are pretty simple and direct.

3) Peruse all the files in the folder named 2_Useful_Tools
Don't worry too much about learning how all of them work, just make a note of what patches are there and what they do. These small, simple patches are designed for reuse. The goal is to keep you from spending a lot of time reinventing the wheel ... or doing something time consuming for which there is a quick solution.

4)
Start exploring the folder named 3_Some_Simple_Examples. 
Some are definitely better (more interesting, better documented) than others. Feel free to jump around in theses folders.  Beyond grouping them into folders based on some of the common object or concept, there is no strong pedagogically informed organization to this collection of patches, other than that some of the earliest patched I created are in some of the lowest numbered folders.