CYCLING ’74 MAX 4 LIVE
Get pedalling with your plugins…
Like Reaktor, Max by Cycling ’74 is a visual programming tool but, unlike Reaktor, it is not in-and-of-itself dedicated to creating audio processors, and has capabilities that extend into many different fields: image and video processing, hardware control, and more. So, in reality, Max is more like a combination of an IDE (Interactive Development Environment – a software suite that assists with code development) and a runtime environment in which programs created with Max – referred to as “patchers” – can run.
This allows Max to be exceptionally openended, because new packages of functionality, known in the coding world as “libraries”, can be created by anybody who feels so inclined. And because Max objects can be coded in a number of languages, including the widely used JavaScript, you don’t need to deal with fiddly compiled languages like C and C# in order to start coding your own Max objects. (The word “object” is used in programming to refer to a “thing” within a program – a value, a controller, an oscillator… whatever!)
MSP and M4L
One of the most important Max libraries for audio processing is MSP. This integrates closely with Max and provides more than 200 objects dedicated to processing and working with audio signals in one way or another. These can be recognised by the tilde (“~”) suffix given to all MSP object names – when you see that tilde you know that the object is intended for handling audio signals.
With Max and MSP you can create all sorts of different synths and effects, but integrating your creations into your music production workflow isn’t so easy because there is no plugin version of Max. Rather, you can either use Max standalone, link Max with your DAW via ReWire, or you can use Ableton Live.
Max For Live (M4L) is a version of Max that integrates tightly with Ableton Live. You can add instruments, audio processors and MIDI processors created with Max directly to a track’s device chain, as well as add empty prototype devices that act as starting points for your own M4L-based devices. The integration includes a library of visual controls – dials, buttons, etc. – that are styled to match Live’s standard look, and access to internal details about Live and its currently loaded set. M4L is a standard part of Live Suite, or can be purchased as an add-on for
Live Standard and Live Intro. Ableton also distribute a number of M4L devices, both free and premium.
Geek chic
Conceptually, Max and Reaktor have an awful lot in common: both of them work by using virtual patch wires in order to link together objects that perform some function or other; both create a distinction between audio and event connections; and both come packed with premade building blocks from which you can create your own synths and audio processors. In practice, however, Max feels a lot closer to writing code than Reaktor does: object names are often multi-part affairs separated by dots, for example “live.dial” or “jit.buffer”; object names can be quite obscure, for example “phasor~” for
“Max feels a lot closer to writing code than Reaktor does”
a sawtooth oscillator; and there’s no avoiding programming concepts such as integers, floats, lists, and more.
If you already know a bit about coding then Max’s code-y-ness shouldn’t trouble you, but if coding isn’t your thing then you may have to work a bit harder at first to understand how to do things with Max. It is worth the effort, though, and you’re helped along the way by
Max’s excellent integrated help and reference system. And of course there’s the tutorials we have created for you here!
Our focus in the tutorials will be that of learning to work with and program in M4L, and so the devices we’ll create are intended to demonstrate how to work with M4L, and to help introduce you to some of the most important objects and techniques. To this end we’re going to make an analogue-style drum synth, and then we’ll create a pattern sequencer MIDI Effect for triggering the synth. If you don’t have Live then adapting the projects for Max MSP is possible, largely by replacing Live.* controllers with Max’s built-in equivalents; that being said, you may find it slightly easier just to install the Live Suite demo and enjoy its full Max integration.