The introduction of MaxMSP adds an entirely new dimension to Live. We take a look at what's already been created in the three months since its release.
In this, the first of our articles on Max For Live, we'll be looking at what has been done with it in the developer community so far, and how it might be starting to change the Ableton landscape. Look out for the follow‑up article, where we'll be going further down the rabbit hole and taking our first steps from the familiarity of Ableton Live into the curious world of MaxMSP, exploring simple MIDI and audio processing, automation and presets, with worked examples.
An Introduction
Max For Live (reviewed in the February 2010 issue of SOS) is an Ableton product that interfaces Live with Cycling 74's MaxMSP graphical programming environment for digital media. MaxMSP appears inside Live, manifesting itself as Live instruments and effects, and Live is effectively made open‑ended, because Max For Live devices can be modified in real time in MaxMSP, even while Live is running, as Live's audio, MIDI and automation data are dynamically diverted through MaxMSP.
Max For Live allows MaxMSP to be used to create Live MIDI effects (which process MIDI data exclusively), audio effects (which process audio), and instruments (which take MIDI performance data and transform it into audio). In addition, there is a programming interface that allows Max For Live to control Live itself, for example by manipulating tracks, Scenes and Clips, or controlling a mix, or interacting with one of Live's supported control surfaces.
The Max For Live package comes bundled with three sophisticated devices — Step Sequencer (a MIDI effect), Buffer Shuffler (an audio effect) and Loop Shifter (an instrument, albeit a rather bizarre one) — and also includes Pluggo For Live, a set of devices derived from the now-discontinued Pluggo plug‑in collection. Even users who have no knowledge of MaxMSP can use these devices, and their presets, just like any other devices built into Live, with no obvious sign, apart from the splash screen on launch, that Max For Live is involved.
Max For Live devices can also be modified. While Max programming is a little beyond the scope of this article, it is useful to know that all this Max For Live content is available in source form, so if you do decide to take the plunge and learn some Max, there's plenty of material to look at.
Taking Control
Many MaxMSP programmers have been rushing to convert their Max patchers into an MFL format — a task which, at the very least, means shoehorning user interfaces into Live's 169‑pixel‑high Detail View pane. There has been a lot of activity by programmers and artists using the Monome (reviewed in SOS September 2008), the minimal interactive button matrix coveted by fashionable beat‑slicers everywhere. Since much of the Monome software is already oriented towards beats and loops, the ability to link into Live's loop‑based Clip machinery and effects routing is obviously very tempting. The archetypal Monome sample-cutting application, MLR, is predictably available in Max For Live form, as is the multi‑function SevenUp Live, and Matthew Davidson (aka Stretta) recently ported all of his stand‑alone Monome instruments into an MFL format.
Other hardware vendors have been following suit: Livid Instruments (makers of the Ohm64 — reviewed elsewhere in this issue — and Block VJ/media controllers) have released a step sequencer tailored towards their products, and Novation now have a step sequencer for the Launchpad.
This explosion of activity in the realm of physical controllers has been a bit surprising, especially as Max For Live imposes constraints on the MIDI environment used by its Max instruments and effects. As the Monome, or, more accurately, its driver application, communicates via Open Sound Control (OSC), the MaxMSP engine used inside MFL can use its own networking support to talk to a Monome directly. The Novation Launchpad, as an Ableton‑sanctioned Live controller, is accessible in Max For Live via a dedicated 'control surface' programming interface, as are the Akai APC controllers. If you want to talk to a legacy MIDI device, your options might be more limited: multi‑channel MIDI is tricky, and System Exclusive is not supported at all. (I won't be writing text directly into the LCD display of my CM Motor Mix anytime soon.) With a bit of creative thinking, though, it is possible to build SysEx‑based device editors: Neil Bufkin has implemented an authentically styled Roland Juno 106 editor, where SysEx MIDI is routed via OSC to an external application that actually communicates with the Juno. Since Live itself provides preset storage, any well-written device editor implemented in Max For Live is automatically also a librarian.
OSC also opens the door to networked connection between computers, or with hand‑held devices like the iPhone and iPod Touch. Cycling 74's Andrew Pask has written a remote‑control Clip launcher that allows a Max For Live device to communicate with a separate Max patcher, which could be on another computer. The patcher offers a remote display of Live's Session View, allowing Clips to be cued and triggered. The iPhone and iPod Touch support a number of OSC‑capable applications (including the lovely TouchOSC controller by Hexler), so linking a multi‑touch interface into Live is pretty straightforward. I can't wait to see what kinds of interface designs emerge once the Apple iPad starts shipping.
Talking of multi‑touch, the Jazz Mutant Lemur, with its sophisticated and highly‑configurable on‑screen interface, has long been a favourite controller for Max users. Jazz Mutant have been showing demos of an impressive editing interface that maps Live's session, mix and device parameters on to the Lemur, allowing for more immediate and organic control, especially in live performance.
I have yet to see much evidence that it's happening, but I predict that Max For Live will start making its way into the 'physical computing' world before too long. For years, artists have been using MaxMSP to talk to micro‑controllers like the Arduino in order to read data from knobs, buttons and sensors, and to operate lighting and motor systems. Adding the full power of Ableton Live to the picture sounds too tempting to pass up. I'm currently using MaxMSP, Ableton Live and an Arduino in a laser‑based triggering system for a dance theatre project, but most of the development work was done before MFL was available, so it hangs together using inter‑application MIDI and Rewire for audio.
Live Video
Max For Live also opens the door to the integration of Live and interactive video, via MaxMSP's Jitter library. A number of demo devices have emerged that allow Live to cue, sequence and manipulate video imagery. Max programmer and performer Gavin Morris (aka Digital Funfair) has taken the Buffer Shuffler audio effect and modified it to work with QuickTime video clips, and he also has a MIDI keyboard‑controlled, multi‑windowed video cueing system. The approach of re-purposing an audio user interface design in order to do video seems fairly common — there is at least one video‑triggering device that looks just like a Live drum rack.
It's also possible to route control in the opposite direction, taking live camera input and using it to affect Live parameters. MotionMod by Robert Jarvis (Zealtv) uses successive images captured from the camera to detect motion: the more movement it sees, the greater the modulation level applied to the target device.
The Jitter‑based devices currently available are still relatively simple, but the promise of tightly organised and integrated music and video control and playback should appeal to DJs and VJs everywhere. Cycling 74's Andrew Benson has written a set of sophisticated Jitter Recipes that are just begging to be rolled into Max For Live.
Since Max For Live devices are currently loaded in source form, it's not clear whether, or how, a commercial market for devices will develop. Puremagnetik, who produce sample libraries in a variety of formats, including Ableton Live Packs, have announced Max Fuel, a bundle of Max For Live devices with intriguingly playful names such as Bump, Drop, Stick, Veer and Yell. The first device in the series, Spectral Mixer, is available as a free download from their web site.
What Next?
Predicting the future is always hard, especially when it comes to technology. Max For Live is young, and much of the developer effort has gone into solving specific problems (like interfacing to controllers), picking off the 'low‑hanging fruit' in terms of demo applications, or experimenting to see what's possible. I take a share of the blame here, having knocked up an email browser and Twitter reader in Max For Live before it was even officially released. As time goes on, I expect we'll start to see more devices that are both imaginative and eminently usable in a musical context — but in the end, the more people who end up building or modifying devices themselves, the better it is for the Max For Live ecosystem.
Web Resources
There is a large amount of Max For Live‑related activity on‑line, mainly through blogs and forums, some of which were up and running before Max For Live actually shipped. Michael Chenetz runs a comprehensive combined blog/forum (www.max4live.info), which carries a lot of video tutorial material. The web site www.maxforlive.com is a centralised database allowing developers to upload and share their own devices. Darwin Grosse and Andrew Pask from Cycling 74 have a music technology site called 20Objects (www.20objects.com) with Max For Live downloads and videos. Finally, I am attempting to keep an agile running report of developments through the Twitter account max4live, backed by a blog at maxforlive.loadbang.net.