FIG. 1: The step sequencer included with Max for Live as it appears in the Max Patcher window in Patching mode. The pop-up palette for adding new objects is at the lower right. The sequencer control panel (upper-left) is a complex object, something that only an expert Max programmer will want to tinker with.
When doing live performance with computers, two of the most important music programs are Ableton Live and Cycling '74 Max/MSP/Jitter. Both are capable of producing great music in a variety of styles, but Live tends to appeal more to the dance-music crowd while Max/MSP/Jitter (which we'll refer to in this review simply as “Max”) is used more for experimental music and video. Both are highly developed, but they couldn't be more different. To vastly oversimplify, Live is about running loops through effects while Max is about building your own real-time algorithmic audio and MIDI processes, as well as video and matrix data processing.
Max for Live is revolutionary: It meshes the two programs seamlessly, and the implications are far-reaching. The new tools built into the Max side provide Live users with an extraordinary level of real-time control over Live's clips and mix parameters. If you want to build a Max patch that will trigger Live clips using some visionary semi-random process that you've dreamed up, just roll up your sleeves, turn off the phone and go for it. Plus, with Max for Live you can build your own synthesizers and audio and MIDI effects from the ground up as Max patches. Your new devices will then be fully usable in Live.
If you're a Live user and you want to send your music into translunar orbit, Max for Live may be just the ticket. But be warned: Although Max is point-and-click, it's a deep, full-featured programming language. Doing even simple things with it will require days of studying and experimenting. Fortunately, Max has a massive set of tutorials. These are augmented by another hefty set of tutorials for Live. Just select Help View from Live's Help menu and dig in.
Live itself is a complex DAW. For details, see the review of Live 8 in the July 2009 issue of EM, available at emusician.com/sequencers/ableton-live-mac-win-review/. Here I'll focus strictly on the features in Max for Live.
Up and Running
After downloading and installing Live 8.1 to my Windows XP machine, I had to download and install Max 5.1 separately. Having done both, I then entered my authorization code in Live's User Account Licenses dialog, and I was ready to go.
FIG. A: Buffer Shuffler slices and dices an audio loop. The orange spots on the grids show which slice will be played on which beat in the left and right channels (separately). The buttons at the bottom can reverse or mute any slice.
If you don't own Max, you'll find that the Max download is available for 30 days as a stand-alone program. After that, it will continue to be fully functional only within Live. Max for Live includes all of the Jitter video-synthesis objects in Max/MSP/Jitter, but some Jitter objects will not display correctly while patches are being edited in the Max for Live Patcher window. Owners of the full Max/MSP/Jitter license don't have this limitation.
Max has a free run-time version that allows you to sell your Max creations to people who don't own Max. However, Max for Live provides no run-time-only widget that will play Max for Live patches in non-Max for Live versions of Live. As a result, if you want to share your own Max for Live devices with other musicians (such as your bandmembers), they will need to own full copies of Max for Live. In addition, Max for Live devices can operate as plug-ins only within Live; they can't be exported. This is rather unfortunate as it will probably reduce the number of third-party developers who create cool devices for Max for Live.
Editing Max Devices
After dragging a Max device into a Live track, you'll see an extra button in its title bar to the left of the Hot Swap and Save buttons. Clicking this opens the Max Patcher window for the device (see Fig. 1). You can then switch the patcher from Presentation mode (which looks identical to what's shown in Live) to Patching mode.
While editing Max patches, you'll notice a small amount of latency, but you will immediately hear the result of your patching. When you save the device and return to Live, the latency goes away.
FIG. B: The new four-track Step Sequencer can produce complex patterns. Each track is monophonic and limited to 16 steps. Step length is programmed in the drop-down menus at right.
The Max for Live Patcher window includes a handy horizontal rule that shows the limits of the control panel that will be displayed in Live. If you park all of the Presentation mode controls within this area, they'll show up in Live. This arrangement of objects is necessary because Live's devices have a fixed height. Max for Live has some standard Live user interface devices, such as Live's familiar knobs. I was pleased (though not surprised) to find that when I returned to Live, all of these controls could be assigned to MIDI Control Change messages, just like other Live controls. You can even add hint text to your user interface objects, which will be displayed in Live's Info view when the mouse hovers over the object.
Max's standard send and receive objects are global within Live. You can put a send object in one Max for Live device and a corresponding receive object in a different device, even one that's inserted into a different Live track, and messages will be sent and received correctly. But as cool as this feature is for passing modulation or user interface data back and forth, it can't be used with audio signals. In the current release of Max for Live, it's not possible to use send and receive objects to sidechain audio from one Max for Live device into another. I'm told Cycling '74 is aware of this limitation and plans to address it in a future update.
To create patches that respond to or control events in Live's user interface, you'll need to explore the myriad methods of the Live Object Model. In a nutshell, this involves setting the path that a command will use to reach a particular track, clip or device, and then sending the command. Paths are set using Max's standard messaging system. Because the messages' text can be assembled interactively within Max, you can do tricks such as create a single knob and a drop-down menu that controls where the knob's output will go.
Max can start and stop clips and scenes, mute and unmute mixer channels, and much, much more. You can even make a patch that will edit single notes within MIDI clips. There are a few limitations, however. Max can't load or delete clips, for instance; you still have to do that from the browser with the mouse.
In addition to all of the goodies in Live 8, Max for Live gives you three new devices (Buffer Shuffler, Step Sequencer and Loop Shifter), a slug of instruments and effects drawn from Cycling's Pluggo library, and a variety of utility MIDI and audio effects. To be clear, Max for Live doesn't add any editing capabilities to Live's standard devices that weren't there already. But you can pop open the hood and modify the new Max-based devices in arbitrarily complex ways — or BREAK them if you're not careful. After editing a Max patch, use Save As, not Save! For details on the included devices and a couple of audio clips that I produced with them, check out the sidebar,“New Plug-Ins in Max for Live” (opposite).
If you play gigs with a laptop, Max for Live may be a dream come true, thanks to the new ways of processing control data. Using the Jitter video-processing features, you can run a mind-blowing video show onstage from within Live. But all this power comes at a price. Max for Live is not cheap — and to make full use of it, you'll need to learn Max programming. If you already own and use Max 5, though, the cost is considerably lower and the learning curve not nearly as steep.
Ableton has partnered with other companies in the past to lift Live to a new level, notably Applied Acoustics Systems, whose Analog, Electric, Tension and Collision instruments are part of the Ableton Suite. But Live is far from the only DAW that has gone a similar route with standard synthesizer plug-ins. Ableton's partnership with Cycling '74, however, is a radical innovation. It opens up the functionality of Live in a way that no other DAW can match. This development is a welcome step forward in the world of electronic music-making.
Jim Aikin makes music in his PC-based home studio, writes magazine articles and fiction, and plays a lot of cello.
New Plug-Ins in Max for Live
Being able to use Cycling '74 Max within the Ableton Live music production environment is a great thing, and fortunately for those who aren't proficient Max programmers, Ableton and Cycling ‘74 have included a suite of plug-in Max patches. You can use these as is or modify them in whatever way you have the courage to attempt. In particular, you'll find a variety of handy tools and building blocks in the Max MIDI Effect and Max Audio Effect folders of the Live library.
Buffer Shuffler (see Fig. A) is an audio effect that slices and dices loops to produce animated rhythms. It's set up to process one-bar loops in 4/4, and it seems to work best with loops that have a riff played by a whole band, though I also got good results with loops containing pads, world percussion and so on. The first playback of the loop (which loads audio into the buffer) is heard as is, but as the loop repeats, Buffer Shuffler will play the slices (normally, eight or 16 of them) in any order. You can change the order on the fly, either with manual editing of the grid or by clicking the Randomize button. Steps can be muted or played backward. The left and right sides of the stereo signal can be the same, or you can process each side separately for unsettling stereo grooves. Activate the Auto-Dice button and every bar is different.
The Step Sequencer MIDI effect (see Fig. B) is actually four monophonic step sequencers that run in parallel. Their loop lengths and step rates are independent, so you can easily create polyphonic patterns that interweave. Bidirectional looping and random reshuffling are allowed. For each note, you can program the note number (pitch), velocity and duration, as well as the probability that it will play or remain silent. The probability and loop length settings are useful for producing good-sounding patterns that never quite repeat, as Web Clip A illustrates. It's too bad the Step Sequencer doesn't have a couple of modulation outputs, but if you have a handle on Max patching, you could add them.
Loop Shifter (see Fig. C) seems to be designed for weird scratching and effects rather than for ordinary music. This plug-in loads a sample directly rather than receiving it from a Live clip; in fact, it operates in a MIDI track, not an audio track. For every key on your MIDI keyboard, you can program the start and end points of a different zone within the sample, which will loop for as long as you hold the key. Each zone also has filter settings, transition rates for gliding into the zone from some other key and so on. Several of the sample playback instruments in Native Instruments Reaktor use a similar concept. Processing Loop Shifter's output with Live's Grain Delay effect gave me a more organic, less mechanical-sounding performance.
The Pluggo plug-ins are a mixed bag. They're not all world-class, but there's plenty here to explore. The Pluggo synthesizers are mostly far less capable than Live's own suite of synths, so I haven't found much reason to use them. I loaded one Pluggo instrument that was monophonic, had no tone controls and went out of tune in the higher octaves. Some of the Pluggo effects, however, are remarkable. The Auto-Feedback effect produces an endless stream of random gurgles, howls and squeaks. By processing Auto-Feedback through Live's Resonators and Filter Delay effects, I created the endlessly changing harmonic drone heard in Web Clip B. And I got a lovely and mysterious sound by running a bell-tone synth called Dee Tune through a multidelay line called Ancient Bowls.
— Jim Aikin