This is part two in a three part series describing Multillooper, my multi-track live looping system. If you haven’t checked out part one, you might want to read that first.
Avoid Computers At All Costs
Ghost Ghost has always been a gear-heavy band, and in particular I have always been interested in bringing sampling and live audio manipulation into the mix. We had tried various hardware samplers and loopers in practices for a couple years, but never found one that was very playable. We had resisted the temptation to bring computers onstage, because they are not purpose-built (therefore complex) and consumer-oriented (therefore fragile). I’ll give you an example of what I mean about fragility. In 2010 we recorded our second EP (Of Innocence and Experience) in our practice space using Pro Tools running on a MacBook Pro. During the recording of the song “Kate,” the MacBook crashed toward the end of each take. After about 15 takes, we became desperate to find the cause of the crash, which we eventually confirmed was the hard drive locking up due to the sheer amount of vibration generated by the drums and bass. You can imagine this situation being much worse on a stage with a sound system and subwoofers augmenting our own volume.
So what changed that made us comfortable with using computers onstage? In short, our desire to push the envelope overcame our trepidation, but there were also technical reasons that made that decision easier to stomach. In late 2010, I gave in to my curiosity and I bought a copy of Ableton Live. Quinn Raymond (Cue the DJ) and Asif Maroof (DJ Amni) had been urging me to try Ableton for a few years. After a month or so, I had learned the ropes with Ableton and began working on a live looper (described in part one of this series). I found that the Ableton Looper instrument stored its samples in memory, not on disk. This is huge, because as I mentioned, I have no confidence in conventional hard drive reliability onstage. So once Ableton Live is running, there is very little need for hard drive access. We have actually never had Mac OS X crash onstage, though Ableton has crashed a few times during practices (from a memory leak bug that Ableton appears to have fixed). Also, solid state drives have just come within price reach, so I could see a path to even better reliability coming soon with a switch to a MacBook Air, for instance.
Laptop Folk
As soon as I had my head around Ableton Live, I came to see it as a modern folk instrument. Tim Bartlett and I had a long conversation (during my birthday party, actually) about what folk music actually is, ending with agreement that the laptop has become the folk instrument of choice and that folk music includes The Grey Album and video mashups just as much as it includes Bob Dylan and Bonnie ‘Prince’ Billy.
Design Goals
In early 2010, Ghost Ghost also released No Clothes on Ragged Island, which was the band’s first serious exploration of analog synthesizers and other electronics. Kevin and I became adamant that electronic music would become further infused into our sound, and we thought for a long time about what that would sound and look like. A major deficiency of most electronic music shows is that they are no fun to watch, just guys pushing buttons on devices you can’t even see. One of our goals with the Multilooper was to create sound loops in real-time, in a way that the crowd could see and understand.
I perceived from the beginning that using off-the-shelf hardware and software would be the fastest way to bring Multilooper to life. However, I have been working with computers long enough to know that custom hardware and software is the best way to streamline the user interface and eliminate complexity. It was decided that version 1 of the Multilooper would be prototyped and built off-the-shelf in the interest of time. Using off-the-shelf components like Ableton, Max For Live, and generic MIDI hardware allowed me to focus more on the functionality than the intricacies of the hardware (e.g. an Arduino board).
Kevin had built his wall of keyboards (Nord Electro, Moog Little Phatty, and Alesis Micron) augmented with his own loop hardware (Electro-Harmonix 2880) and drum machine (Adrenalinn). Because these devices all understand MIDI, we wanted to sync tempo, meter, and start/stop between the Multilooper and Kevin’s rig.
Also, Mark Christensen is, um, fond of delay, so we wanted to get his delay boxes and loopers in sync as well.
Tim Bartlett, our video maestro, was already using a laptop with VDMX to control the live video projection, so another goal was to provide his video rig with data about the sound component of our show. At a minimum, tempo and meter were requirements, which were easy to transfer via MIDI. I’ve always wanted to get more performance data to Tim, possibly even including motion data about Charlie Kemmerer’s onstage painting as well, but so far that has not happened. We are busy people in a busy band.
A side goal was to implement live video looping that is time synchronized to the audio loops. This could be done by sending performance data to VDMX, or within Max For Live itself using Jitter, the built-in video/graphics system for Max. Again, this hasn’t happened yet.
The design goals as a list:
- Create sound loops in real time, in a way the crowd can understand
- Use off-the-shelf hardware and software wherever possible
- Send sound performance data to other audio rigs
- Send sound performance data to video rig
Version 1; Pure Data; SXSW Interactive
Ableton Live did not make it into the practice room until January 2011. It was around this time that we were invited to perform at South By Southwest Interactive, the computer/game/DIY part of the very large SXSW festival franchise. After a few months of experimentation, I rolled my work up into the Multilooper, putting the whole thing together over a weekend using Ableton Live, Max For Live, and a host of other pieces that are described in part one of this series. I was surprised at how quickly the first version came together, especially since I had not programmed in Max for several years at that time. Ghost Ghost practiced for a week or two using Multilooper and we found it surprisingly stable. As an aside, this was also the first time we practiced using Skype to connect with Mark Christensen in Vermont, and we actually had Mark perform onstage with us at SXSW via Skype as well.
Despite the fact that time was short before our performance at SXSW, I coded the Multilooper in both Pure Data and Max For Live to compare the two platforms. I decided to do this primarily because Pure Data accepts the MIDI Program Change messages that come out of my foot controller, while Ableton Live filters these messages. In other words, I had a programming need that Max For Live could not address, so I thought I might as well code the whole thing in Pure Data. Unfortunately, I had some reliability problems with Pure Data, and I generally prefer getting as much functionality as I can into hardware rather than software, so I decided to use a MIDI Solutions Event Processor to convert the MIDI data into Note On messages before the MIDI data ever got to the laptop. I still had to rely on Max For Live for the rest of the functionality I needed.
Complexity and Setup Time
As you can see from part one of this series, the system I developed relies on many software elements (e.g. Ableton Live, the software mixer provided by the M-Audio Fast Track Ultra 8R, Mac OS X itself). If one setting in one of these software elements goes awry, the whole system can stop working and take a significant amount of time to diagnose and correct. This time risk is a very real concern, especially because the average changeover time between bands in NYC clubs is 15 minutes, which is not even enough time to physically move one band’s gear off the stage while moving another band’s gear on.
In addition, there are many cables to connect and devices to turn on. A single cable not connected (e.g. the MIDI cable that connects the foot controller to the Event Processor) can likewise derail the entire system. Again, time risk. At best, the fastest I have been able to set all this up consistently is 20 minutes. That’s too slow by half. These are the problems that keep me up at night. But in return for all this complexity, I was able to bring multitrack live looping into our stage show using off-the-shelf hardware and very little custom software.
The Future
Obviously, the system is too complicated and needs to be refactored to a self-contained, purpose-built system. In my ideal world, a Multilooper would fit into a stompbox, and that stompbox would be networked with a master control device. Part three of this series is a spec of this ideal system.



I use the Akai APC20 Ableton Controller onstage as the transport and mixer for Ableton Live. Each song in our set list has a corresponding scene in Ableton which sets the tempo and meter. I start each song by pushing the button for that scene on the APC20, and stop it using the APC20 transport stop button. The mixer is generally set to unity gain for each channel, and I use it to fade loops in and out as necessary. I don’t really use any other features of the APC20 onstage, and I would love to replace it with a dedicated foot controller and more custom programming.
My hands are usually busy onstage, so I control the looped audio with my feet using the Rolls MP128 MidiBuddy foot controller and some custom Max For Live code. I can control two separate guitar loops, two separate drum loops, and one vocal loop. The top row of buttons on the MP128 select which loop I want to control (guitar loop 1, guitar loop 2, drum loop 1, drums loop 2, or vocal loop). The bottom row of buttons control the transport (record, play, overdub, stop, undo) for the selected loop.
The full version of Ableton Live provides a software instrument for live looping called “Looper.” This instrument is fine for simple mono looping, but I have a two channel guitar, and my drum kit requires two microphones. The Ableton-provided Looper has no way to accommodate multichannel looping, so I use the Ableton Looper as a building block to create what I call a “virtual looper.” I call them virtual loopers because behind the scenes, a looped guitar part is actually two individual Ableton Looper instruments (one for each channel of my guitar) that are time-synchronized and controlled in tandem with custom Max for Live code.
The MP128 foot controller outputs MIDI “program change” messages, but Ableton Live filters out this type of MIDI message because it uses it internally. So in order to get foot controller MIDI data into Ableton Live, I have to convert each MIDI program change message (e.g. “Program Change 0″) into the corresponding MIDI “note-on” message (e.g. “Note On 0″), and I do this using the excellent MIDI Solutions Event Processor. Once the message is converted, Ableton and Max For Live can see and use the MIDI data coming out of the foot controller.
