Max/MSP/Jitter for Music: A Practical Guide to Developing Interactive Music Systems for Education and more

V. J. Manzo delivers a definitive primer for audio artists wishing to harness the power of this versatile software suite.

Max/MSP/Jitter (available from www.cycling74.com) is essentially three separate interrelated software development tools: Max (for MIDI, math, control, GUI, etc.), MSP (for digital audio), and Jitter (for video and other matrices). Bundled together, they provide a graphic object-oriented, integrated environment for the development of custom software. The company likes to compare its program to a software-based erector set, which I think is an apt description. In addition to complete customization, the strength of the program is real-time interactivity. No doubt this strength is one reason why Ableton and Cycling ’74 have collaborated to produce Max4Live, which fully integrates Max’s open-ended flexibility into the Live environment … and likely increases the number of users interested in learning more about Max programming. Though it does not directly address the Max4Live audience, this book does have something to offer in meeting the needs of the growing population of potential Max programmers looking to acquire some basic proficiency with the software.

Buried deep in a folder on my hard drive, I have some Max programs (or patches as they’re known in the Max world) that date from the early 1990s, when I first began trying to teach myself how to use the software on a Mac SE30 using the tutorials that came with the program. Those old patches actually still work fine, but clearly a lot has changed since those days. The MSP and Jitter add-ons, made feasible by hardware improvements, have spectacularly increased the program’s capability and allowed the user interface to mature. The body of resources available to those wanting to learn about the program has also expanded significantly. The program has fantastic contextual help windows containing working patches that can be copied and pasted directly into your own patch for immediate use or further modification. It has built-in reference links that can take you as deep into the program as you might want to go. The company’s website has an active and robust users’ forum, instructional videos, and additional tutorials. You can also find YouTube videos by users from around the world. Todd Winkler’s Composing Interactive Music (1998) was the standard book on Max for over a decade, but in late 2010, volume one of Electronic Music and Sound Design: Theory and Practice with Max/MSP, by Alessandro Cipriani and Maurizio Giri, was published along with the promise of two more volumes to come. When completed, this ambitious new series promises to be a comprehensive multi-year education in electronic music with chapters alternating between abstract theory and practice based on Max/MSP.

This wealth of resources begs the question: Is there really a need for a book like Max/MSP/Jitter for Music at this time? I believe the answer to that question is yes. Informed by years of teaching Max classes, it’s clear to me that one important element in the Max universe has not changed much over the past two decades — getting started with Max is still a daunting challenge for most users. Manzo’s book, especially in the first few chapters, is aimed squarely at addressing this challenge. In addition, his approach could hardly be more different than that of Cipriani and Giri, so his book will appeal to a completely different subset of Max users. The software is so deep and so flexible that every user’s relationship to it will, to some degree, be personal, so it’s unreasonable to expect that any single Max book will satisfy all needs. Manzo’s subtitle reveals his emphases on creating a practical guide (which he does successfully) and on interactive systems. His subtitle contains no reference to the theory of synthesis, or electronic music, or sound design and indeed there is very little discussion of these subjects in his book. On the other hand, some of the interactive systems encountered in his book are more complex than what I’ve seen so far in Electronic Music and Sound Design. Plus, Manzo’s book includes a short introduction to using Jitter objects which I’m sure will interest quite a few users.
If you are familiar with Basic tutorials that come with Max and have tried to teach novice students (or yourself), you may well share my conclusion that they are too abstract to provide a useful roadmap for learning the program without additional resources and examples. You have 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 probably would not immediately have a good understanding of the note-making aspects of Tutorial 19.

In striking contrast to these tutorials, Chapter 2 in Manzo’s book is entitled Generating Music and he has the reader programming Max to generate audible notes by figure 2.4 on page 21. If you were using this book as a textbook and included your standard course introduction and overview, along with appropriate discussion of the demonstration examples in Chapters 1 & 2 leading up to page 21, I would guess that you could have your students hearing the results of this simple bit of programming before the end of the first hour of class. For what it’s worth, this is similar to the approach I take in my Max classes and I suspect many other teachers do likewise. (By way of comparison, students following Cipriani and Giri will have made a patch having a 440 Hz sine wave with manual on-screen control of amplitude by page 55, after digesting a dense 48-page introductory chapter on the theory of sound synthesis. This is still an improvement over relying on the Max Basics tutorials for your introduction to the program and is, in fact, more like starting with the MSP tutorials instead of the Max tutorials.)

A significant characteristic of any book is its implied linearity, which I believe offers a distinct advantage for novice learners. In the standard Max tutorials you have a link to a demo patch and a computer screen full of XML text, rich with links to related material. While all these links are great for enabling the user to quickly dive deep into the program in search of answers, the non-linear nature of this activity also creates the possibility of confusion for novice Max users. I believe there is profound benefit to the fixed format and linear quality of a book such as Manzo’s, which more sharply focuses the learner’s attention on a sequential building process.

Chapter 2 of Max/MSP/Jitter for Music contains step-by-step instructions for creating a little program to generate a stream of MIDI notes automatically with one mouse click. The 42 numbered steps are spread out over 10 pages with plenty of explanatory text, as well as graphic examples at key points along the way to show you exactly what your computer screen should look like as you build the patch. Even if you have no idea what you are doing when you begin, if you follow the simple recipe-like instructions and read the explanatory text, you will end up with a “foolproof” working patch that does precisely what it’s supposed to do. Not only that, but you will understand exactly how and why it works. Meanwhile, as far back as step 15, you will have had a working patch that generated notes you could hear. If I were using this textbook with my class, I would probably have students continue building on this patch beyond step 42, since there are several easy tweaks (narrowing and offsetting the range of random note generation, adding random velocity and duration changes, substituting a drunk object for the random object, etc.) that could be added quickly to make the output of this bit of programing more interesting and perhaps more musically satisfying.

Since I am referencing the book’s format and layout, I would like to thank the publisher for the 8.5 x 11 page size, as well as the generous size of the graphic examples and type. These features make the book easy to read and refer to while simultaneously building the patches in Max on your computer.

Figure 2.8 from Max/MSP/Jitter for Music

While the plan of the book has students programming Max to generate notes early in Chapter 2 and introduces Presentation Mode in Chapter 3, the introduction to digital audio and MSP objects is not covered until Chapter 12 (p. 212 — almost 2/3 of the way through the book). Jitter objects are not introduced until Chapter 16 (p. 277). It’s my experience that many (probably most) novices users are very eager to dive into audio and video processing, but I am in general agreement with the author on the value of encouraging novice learners to spend enough time on the basic Max objects to develop a level of basic competency with them before diving into the MSP and Jitter objects. However, if your students are like mine (or you are like my students), the time it takes to reach Chapter 12 and the introduction of MSP objects may seem too long. On the plus side, so long as you’ve worked your way through Chapter 3, there is really no reason not to jump ahead to Chapter 12 when it seems right to do so. With the exception of the last part of Chapter 13, in which, pitch tracking of a monophonic audio input substitutes for the MIDI input used in Chapter 6 in a patch that generates diatonic harmony, there is not much in the remainder of the book that relies heavily on your having successfully worked your way through all the intervening chapters. Even in the case I’ve mentioned, you can still build a working patch and experiment with it, but your understanding of what’s going on “under the hood” may be more limited. Meanwhile, the audio pitch tracking with diatonic harmonization programming explored in Chapter 13 returns in Chapter 20 as part of a more elaborate patch created by Manzo to be used in the performance of his composition entitled discourse. This composition demonstrates one popular use for Max in which an instrumentalist performs on an acoustic instrument with the audio being fed into Max through a microphone input while custom programming, designed by the composer, processes the audio in real time to provide an accompaniment.

Figure 12.13 from Max/MSP/Jitter for Music

Computer music composers have been among the chief proponents of Max since its inception, and most classes I know about tend to emphasize strategies and tools for this purpose. (Electronic Music and Sound Design is clearly and exclusively designed to address these users.) So it is significant to note that, as the subtitle suggests, Manzo includes considerable discussion of non-compositional uses for Max. Whole chapters are dedicated to such topics as “Interactive Ear Training” and “Tools for Music Theory Concepts,” as well as a chapter entitled “Scales and Chords” with concepts and programming that can easily be applied in composition/performance situations (e.g. automated diatonic harmony) as well as music education (e.g. learning to form, spell, and recognize scales and triads. It’s great to see these and other alternative uses for Max explored in this book. I have often advocated for expanding the uses of Max and my own classes often include students interested in these sorts of projects.

Fig. 19.9 from Max/MSP/Jitter for Music

Owners of Max/MSP/Jitter for Music are given access to a 166 MB collection of additional resources through a password-protected website. In addition to a folder of patches for each chapter, the author has provided a set of externals (i.e. EAMIR_SDK), which is used throughout the book, and a folder of extras for users to peruse on their own. For this review I used Max 5 on a MacBook Pro and everything worked just fine. (In case you were wondering, Manzo’s external objects will not work on G5-based Power Mac, but all the other demo patches did.) The book and all the examples are Max 6 compatible, according to the book’s website, and there are a handful of minor text corrections listed on the book website to accommodate those using Max 6.
There is much to like about this book and I am happy to have this opportunity to spread the word about. If you are a novice who wants to learn Max quickly and develop a solid foundation before striking out in your own direction, this book will provide it. If you are a teacher who is new to teaching Max, or has been thinking about starting a Max class for beginners, I think this would be a worthy choice as a textbook for your class or as a reference when putting together your class. Especially in situations where your curriculum (or your teaching load) permits only one 2 or 3 hour class devoted to Max; this would probably be the better book to use. For comparison, Cipriani and Giri expect users of the first volume of their book to devote 60 hours of class time to the material and students to spend an additional 120 hours outside of class, which usually equates to 4 hours of college credit. If you or your population of students are seriously committed and narrowly focused on a career in electronic music and sound design, you are probably the perfect candidate for Electronic Music and Sound Design. But if you or your population of students have broader interests when it comes to exploring Max, then Manzo’s book is more likely to fit your needs.

By pure coincidence, while I was working on this review, I had overnight houseguests. A former student with a carload of students was on his way to SEAMUS 2012. One of these students had just begun trying to learn Max on her own and was working her way through the Max Tutorials, experiencing all the frustration familiar to most people who have tried to learn it that way. When I showed her Manzo’s book, she was fascinated and spent much of her visit reading and studying the early chapters. This incident was just further confirmation that there is indeed a need for this sort of book and that its clarity and directness, especially in those critical early chapters, is highly effective and communicative.

Mark Phillips is a Distinguished Professor of Composition and Electronic Music at Ohio University and an award-winning composer and performer.

Publication Notes

MAX/MSP/Jitter for Music: A Practical Guide to Developing Interactive Music Systems For Education And More
V.J. Manzo
Oxford University Press
ISBN: 978-0199777679