Ableton Live's 'devices' offer powerful tools for mangling sounds in live performance. But what if you could mangle the devices themselves?
If you peer over the shoulder of a typical laptop musician in the middle of a gig, the chances are that you'll see one of two things: either an incomprehensible, complicated‑looking rat's nest of ragged coloured boxes connected by lines, or a neat, grey spreadsheet‑like grid above a strip of slim, regimented control panels and waveforms. The former is MaxMSP, Cycling 74's open‑ended graphical media toolkit for MIDI, audio and video that's been a favourite of narrow‑spectacled sound artists for two decades; the latter is Ableton's Live, the sleek, easy‑to‑use, loop‑oriented sequencer that is a favourite of DJs everywhere and is becoming established as a sophisticated, full‑blown audio workstation.
At first glance, the two packages couldn't be more different: an unruly, academic‑looking laboratory workbench from a bunch of media artists based in San Francisco, versus an exquisitely designed and crafted sequencing platform from Germany. But the fact that both are seen on stage so often suggests some common creative outlook, and now we have Max For Live, the result of a close collaboration between the two companies, and a concrete example of how similarly they view the process of musical performance.
The world of Max has always been about altering things on the fly, in real time, without interrupting the creative flow, and in a chance meeting at the time Live 1.0 was launched, Ableton's Robert Henke commented to Cycling 74's David Zicarelli that what Live needed was a similar versatility: a special 'edit button' to allow built‑in effects to be altered and modified directly without stopping the music. The idea behind Max For Live was born, and nearly a decade later, the technology has been developed to actually make it work.
It is clear enough what Max brings to Live. Live has access to a huge number of instruments and effects through Ableton's Suite of instruments and its support for VST plug‑ins, and it is remarkably versatile in its ability to construct instrument racks and macro groupings. Max, however, completely removes Live's limits, making it infinitely extensible. The 'edit button' concept also breaks down the idea that built‑in components have to be fixed in their function: if you want to redesign one of Max For Live's instruments or effects, or change what it does and how it works, you can — while the music plays on.
It is perhaps less clear what Live brings to Max. Despite Max's power and flexibility, it has a few shortcomings. Its support for MIDI and audio file organisation, recording and playback, while perfectly usable, is a little on the primitive side, and session‑based file management is non‑existent. More seriously, Max has no features supporting time‑based organisation of material: while it's easy to construct timers and calculate beats and bar lines, this falls far short of a linear, multitracked, sequenced, automation‑capable environment. These are the things that Live brings to the relationship. And, of course, Max also benefits from access to Live's instruments and effects, such as polyphonic, multi‑zoned sample playback (which Max is capable of, but not without a fair degree of pain).
Finally, Max For Live provides a home for all the worthwhile bits of Cycling 74's Pluggo, which was both a tool for building VST plug‑ins from Max patchers, and a collection of pre‑built instruments and effects. Pluggo has been discontinued, mainly because of the mounting technical challenges of supporting a large number of incompatible hosts, but the core technology lives on inside Max For Live, and many of the original Pluggo instruments have been included. In short, Max For Live is the new Pluggo: it's Ableton‑only, but much more powerful and better integrated with its host.
It is worth mentioning at this stage that the arrival of Max For Live as a paid‑for option, and the discontinuation of Pluggo, changes the landscape for developers who want to distribute plug‑ins, and for musicians who want to take advantage of developers' efforts. Max For Live only works in Live, and there is no longer a way to create plug‑ins for other sequencers. Moreover, there is no free equivalent to Pluggo Runtime: it's impossible to make full use of devices built in Max For Live without a paid‑for copy licensed to a particular computer. At present, there isn't even a demonstration (or if you prefer, 'emergency performance') mode where devices can be used with saving disabled: if not licensed, Max For Live completely stops working. Although Ableton have stated that demonstration mode will be implemented in a future release, these licensing terms must risk curtailing the widespread adoption of Max For Live.
Max For Live isn't available in a physical box; in fact, as a product it doesn't even exist as a separate download. Rather, it's a set of features built into Live (you'll need version 8.1) and Max, and enabled by licence from Ableton. When the licence is enabled, Live presents a download link for obtaining Max itself; once Max is installed, Live and Max collaborate to implement the Max For Live package.
Max For Live places Max inside Live, peering out in the guise of 'Max Audio Effects', 'Max MIDI Effects' and 'Max Instruments' from Live's Device Browser. Since Max For Live comes bundled with a number of demonstration effects and instruments, including more than 40 ported from the Pluggo collection, at first glance it's not clear that there's anything special behind the scenes: Max For Live's devices are capable of looking, and behaving, exactly like the ones built into Live. They are displayed directly in Live's Detail View pane, have the same kinds of knobs and sliders, and can be automated and macro‑controlled in exactly the same way.
While the Live Library contains a selection of Max For Live devices that look and work just like the built‑in ones, dragging a blank device from the Device Browser into Live's Detail View results in something new: an elementary little Max patcher inside the device pane, complete with object boxes and patch cords. What you see here will depend on the kind of device: a 'Max MIDI Effect' will have a 'midiin' box connected to 'midiout', a 'Max Audio Effect' will connect a 'plugin~' to a 'plugout~', and a 'Max Instrument' will have a 'midiin' and a 'plugout~' separated by a tantalising gap. In each case, Max For Live is building a new instance of the simplest possible effect or instrument, under the assumption that you will treat it as a blank slate for building something of your own.
To get fully into the Max For Live world, there is the 'edit button' we mentioned at the beginning, in the device's title bar. Click this button and Max is launched, with a copy of the device as a Max patcher document, which you can then alter to your heart's delight. And this is where Max For Live pulls its party trick: this patcher is actually active, with audio, MIDI, control and automation data flowing through it, while the copy inside Live is completely bypassed. When you've finished editing, close and save the patcher file, and the updated version appears back in the Live window, just as if it were a built‑in device.
This trick of connecting the insides of Live's sequencing environment out into Max, and back again, is pretty impressive. Altering the control panel settings of an instrument plug‑in while the music is playing is easy, and has been for years, but altering the fundamental structure of a plug‑in, turning it into something completely new while the sequencer is running, is a different ball game. Max users often regard patcher editing as part of the creative process, designing and altering an instrument as a piece comes together; now Live users can do the same.
Every Max For Live device has an edit button. The Pluggo devices, which used to be closed‑source and proprietary as part of Pluggo, are now free to be inspected, modified and recombined however you see fit.
Live's Max Devices should look pretty familiar to Max programmers. Altering a Max Device is the same process as editing a Max patcher. The key difference is that the patcher is still wired into Live, and its MIDI and audio I/O connections are provided by Live, rather than external interfaces.
In order to keep the Live interface as consistent as possible, Max Device patchers adopt Live's text font, and track its colour scheme or 'skin'. Each patcher is also marked with a horizontal line showing the lower limit of visibility when the device is shown inside Live: user‑interface components must fit into the top 169 pixels of the patcher to be visible in Live's Detail View pane.
With the exception of MIDI and audio I/O, Max Device patchers work in much the same way as ordinary patchers. Max Device patchers can load and use sub‑patchers in the same way as in 'real' Max, and Max locates and loads files (patchers, images, audio) in the usual manner via its search path settings. A single Max session can be used for editing Live devices alongside ordinary patchers without any problems, although the latter can only access MIDI and audio I/O independently of Live if you have a full, licensed copy of Max.
Live has its own interface design for controls in its built‑in devices — knobs, sliders and buttons have a particular, minimalist style — so Max For Live comes with a new set of Live‑style patching objects, to give Max Devices the authentic native look. In fact, these objects serve a dual purpose: they also connect directly into Live's control machinery, so that a Live‑style knob or slider in a patcher is immediately available for automation or macro control and is automatically attached to any connected control surface. This behaviour can be disabled — and it can also be enabled for Max's own interface components — but by default, having Live‑style controls link directly into Live is exactly what you want: MIDI control and automation come for free, without any additional configuration or setup required. Live‑style components also have their values saved in device presets.
There are also some brand new interface components, similarly styled to fit in with Live's appearance: 'live.step' is a step sequencer panel with editing behaviour similar to Live's MIDI clip editor, while 'live.grid' is a rectangular block of buttons that can be used for all kinds of matrix editing and display. These components can also save their state in presets.
Max For Live comes with three new flagship devices that serve a dual purpose. For keen Max programmers, they can be inspected and altered as sophisticated examples of Max For Live programming, while for non‑programming Live musicians they are novel, easy‑to‑use sound generators that give a taste of the Max world. The Buffler Shuffler dynamically cuts up incoming audio into a matrix of reorderable rhythmic slices; the Loop Shifter maps MIDI notes to slowly shifting filtered loop presets over an arbitrary audio file; and the Step Sequencer does exactly what it says on the tin, offering multiple tracks, randomisation and MIDI remote control.
For those interested in dipping their toes into Max programming, there are also dozens of simple lessons, examples and building blocks, all of which are fully functional devices, as well as the ported Pluggo instrument and effects.
Not only is it possible to control Max For Live devices using automation, but the devices can control Live itself. For a while Live has had an undocumented programming interface for controlling aspects of its behaviour: firing clips, modifying device parameters, and so on. Max For Live provides clean, well‑documented access to what is referred to as the 'Live Object Model': a view of the major parts of Live which can be inspected and altered while Live is running. This interface allows access to tracks, devices and clips from inside a Max Device, so that Live can be interrogated and reconfigured. A suite of 'API Abstractions' provides Max patchers, which can be used as starting points for new control devices.
The API (Application Programming Interface) feature opens the door to all sorts of new, sophisticated performance systems and editing techniques, and I can imagine new Max Devices appearing whose purpose is to fundamentally alter the way Live works on stage or in the studio.
The Live Object Model, while extensive, is not exhaustive: there is currently no support for sample manipulation or warp editing, for example, and while the interface supports access to MIDI control surfaces, there is currently little documentation describing how this actually works, apart from some demonstration code. Expect more information to be forthcoming as Max For Live continues to develop.
One area of Max For Live that deserves a little discussion in passing is the organisation of Max Device files and presets. Max and Live have wildly differing philosophies when it comes to managing files, and for the first time Live has to deal with devices that might radically evolve over time.
The Max approach has always been relatively laissez faire: so long as you tell Max where to search for patcher, preset and media files, you are responsible for keeping track of how they interact with one another. By contrast, Live prefers to keep everything neatly filed inside projects and its Live Library. Max Devices can be 'frozen' into a self‑contained format allowing them to be transferred between users, and Live's 'Collect All and Save' option copies devices into the project directory as expected, but device presets get saved into the Library — followed by another copy of the device itself, so that the preset doesn't get orphaned from the device it refers to. At the time of writing, this machinery is still in something of a state of flux, and its behaviour might well be more consistent by the time you read this.
While a Max Device is, to all intents and purposes, a Max patcher, living inside the Live environment does impose some restrictions. Audio I/O is strictly stereo, so you'll have to shelve any plans to build Max Devices that output complex multi‑channel mixes. (You can, of course, run multiple devices at once, but there's no easy way to synchronise their audio at the sample level.) The MIDI world is also restricted, since a Max Device lives in a track that notionally has a single MIDI channel. With the exception of Max Instruments, all MIDI is strictly single‑channel; instruments have a unique ability to receive on multiple channels, but you'll have to create a new MIDI track to route in each additional channel. Finally, there is no support whatsoever for System Exclusive messages, which may well scupper plans for interfacing with some kinds of external MIDI gear.
Max For Live promises to be a game‑changer both for Max users and for Live users. The world of Live is now open‑ended, highly customisable and essentially fluid, in that components traditionally regarded as fixed in form and function are now malleable as part of the creative process. The world of Max gains a whole new environment offering all the resources of a top‑notch sequencer and audio workstation.
Even strangers to Max, or those who don't want to get involved in Max programming, will benefit from the bundled Pluggo effects and scores of additional plug‑ins, without knowing or caring that Max is running things behind the scenes.
As I write this, the official launch of Max For Live is still a few days away, and there are some definite rough edges — awkward preset management, restricted MIDI processing and incomplete access to Live's internals — but as issues are addressed, expect to see the emergence of a whole new ecosystem of devices and tools as the Max and Live communities start to explore each other's domains.
Pluggo For Live Effects
Pluggo For Live Instruments
The 'big three' Max For Live devices