If you have seen Ghost Ghost perform in 2011, you have probably noticed that I have some mysterious computer gear now that allows me to live loop many different sounds onstage. During the average song, I do multitrack looping and layering of my own voice, my electric/acoustic guitar setup, and a multi-mic’ed stand-up drum kit. Right after every show, someone generally asks me how I do all this. I love talking about my work, so here is a quick description of Multilooper, the multitrack live looping system I have developed over the last few months using Ableton Live and Max For Live.
The impatient can visit GitHub to download the the Ableton project file, the Max For Live patch, and relevant documentation. But don’t expect to just fire up the project and start looping, you will need to configure quite a lot to get everything working. The source code and documentation are licensed under a Creative Commons BY-NC-SA 3.0 Unported License.
In short, Multilooper is an integration of the following:
- Ableton Live 8, the multitrack digital audio workstation for live performance
- Looper, the live-looping MIDI instrument provided with Ableton Live 8
- Max For Live, the programming environment for Ableton Live
- Apple Mac OS X 10.6 on a 2009 MacBook, and also the Mac OS IAC Driver
- Rolls MP128 MidiBuddy foot controller
- MIDI Solutions Event Processor
- Akai APC20 Ableton controller
- M-Audio Fast Track Ultra 8R audio and MIDI interface, and also its software mixer
- Radial ProD2 two channel DI box
- Radial ProRMP reamp box
- Pro Co StageMaster 8 channel XLR drop snake for inputs
- Pro Co StageMaster 8 channel TRS drop snake for outputs
- Sennheiser HD280 headphones
Connection Diagram
This diagram shows how most of the hardware is connected:
Two Channel Guitar
This diagram shows how the guitar is wired into and out of the Multilooper:
- Amp vibrato channel, input 1: from pedalboard channel 1 (live guitar channel 1)
- Amp vibrato channel, input 2: from Multilooper output 3 (looped guitar channel 1)
- Amp normal channel, input 1: from pedalboard channel 2 (live guitar channel 2)
- Amp normal channel, input 2: from Multilooper output 4 (looped guitar channel 2)
The Multilooper outputs 3 and 4 are low impedance signals when they come out of the Fast Track, so the impedance for each signal is corrected by a reamp box before the signal goes into the amp. Also, because the reamp box has transformer isolation and ground lift, it allows correction of noisy power or ground issues. Very important.
Why all this complexity? I know, right? Well, there are three reasons. First, I have two channels on my guitar because I play electric and acoustic guitar parts, so I need to be able to switch between the two sounds or blend them. The amp EQ settings for an acoustic guitar are much different than the EQ for the electric guitar, and I don’t compromise much on tone, so I need two amp channels to make it sound great. Second, I want the live and looped guitar to sound identical in volume and timbre, so both need to be routed to the amp, with correct impedance. Third, NYC rock clubs are not known to have great sound systems or on-stage monitoring, so I can’t expect the club to have adequate sound system equipment/expertise to handle what I’m doing–it’s best to route all of the guitar sound to the guitar amp.
Input List
All of the following are connected to the input snake, which is in turn connected to the 8 audio inputs of the M-Audio Fast Track Ultra 8R:- Guitar channel 1 - Magnetic pickups from guitar via output from DI box channel 1 on the pedalboard
- Guitar channel 2 - Saddle transducer pickups from guitar via output from DI box channel 2 on the pedalboard
- Floor tom mic - a clip-on Sennheiser e604 microphone
- Snare mic - a second clip-on Sennheiser e604 microphone
- Vocal mic - a Shure SM58 microphone, which I sing into
Output List
All of the following come out of the output snake, which is connected to the 8 audio outputs of the M-Audio Fast Track Ultra 8R:- Mono cue mix - Ableton has cue mix capability, so I connect every Ableton track to the cue mix and output it here. Output 1 shows up in the left speaker of my headphones. A side benefit is that I can use this mono mix to output to the sound system if something goes wrong or they don’t have enough inputs to accommodate the many channels I am outputting.
- Click - Ableton has a click capability, so I route that click sound to output 2. Output 2 shows up in the right speaker of my headphones. If I needed someone else to hear the click, I could connect output 2 to another rig.
- Guitar channel 1 - Guitar loop for guitar channel 1, connected to reamp box 1. Live guitar does not come out of this output, because live guitar is routed directly to the guitar amp by the DI box.
- Guitar channel 2 - Guitar loop for guitar channel 2, connected to reamp box 2. Live guitar does not come out of this output, because live guitar is routed directly to the guitar amp by the DI box.
- Floor tom - Live and looped floor tom, to house sound system
- Snare - Live and looped snare drum, to house sound system
- Vocal - Live and looped vocals, to house sound system
- Synth kick - synthesized bass drum track, to house sound system. Because there is no kick drum on stage, we decided to augment the live loops with a synthesized bass drum track that is pre-programmed for each song. Rock music requires bass drum, that’s a fact.
Ableton Controller

MP128 Looper Foot Controller

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.
You might be thinking that I could mix the signals down to mono before they get looped, and that would get around the mono limitation of the Ableton Looper. However, that would defeat my two channel guitar setup, which depends on the different settings on each channel of the amp. It would also prevent me from being able to route the output of each drum to the sound system individually, which is very important for live shows. A sound engineer processes a snare very differently from a floor tom, so mixing them to mono before they get to the sound system ties the sound engineer’s hands.
Let’s review how these virtual loopers might be used in a typical song. I start with a drum loop on the “drum loop 1” virtual looper. Then during verse 1 of the song, I add a guitar loop on the “guitar loop 1” virtual looper. Then when the chorus comes around, I stop “guitar loop 1” and create a second guitar part on the “guitar loop 2” virtual looper. When the chorus ends, I stop “guitar loop 2” and start “guitar loop 1” again. Having two virtual loopers for guitar and two for drums is a relatively simple way to have “part A” and “part B” for guitar and drums. It also allows me to play lead guitar live over a rhythm guitar loop, or sing harmony over my own looped vocal. Nice stuff.
Event Processor

Max For Live Custom Instrument

After a virtual looper is selected on the foot controller (e.g. by pressing the “0” button to select virtual looper 0) and a command for that virtual looper is issued (e.g. by pressing the “5” button, which means “record”), the custom instrument sends out a set of its own note-on messages (e.g. note-on 11 and note-on 12) which are picked up by Ableton Live. Ableton Live has been configured via MIDI mapping to assign those note-on messages to the correct controls on the correct Ableton Loopers (e.g. note-on 11 is mapped to the record button on one Looper, while note-on 21 is mapped to the record button on another Looper). Setting up these Ableton Live MIDI mappings is extremely tedious. This would not be necessary if the M4L Live Object Model exposed all of the functionality of the Looper instrument. I should caution you that I have seen some odd behavior in MIDI mapping that can cause the system to misbehave, usually in one of three ways:
- the virtual loopers get a “record” command when you push the “stop” button on the global transport
- a virtual looper might get a record message when you issue a command for a different virtual looper
- one channel of a virtual looper (e.g. the snare, but not the floor tom) might receive the command while the other channel does not