Update: I now offer free and premium templates to help you get started looping in Mainstage. They demonstrate all the tips (and more) that I talk about in the article below.
I also offer a service to create a custom looping template for your needs. For $100, I will work with you to build the perfect loops/routing/effects so you can focus on a great performance and not on googling mainstage setup tips.
Email firstname.lastname@example.org for any questions or use the buy now below to place an order and send me your description of your ideal setup.
I have been been trying to find a good looping setup for multi-instrumental live performance for a while. Usually I find a new tool (Boss RC20, Ableton w/ Launchpad, Ableton with pedalboard, Custom Looper in PD, Custom Looper in ChucK, you get the picture), get excited while setting it up, try a few songs and then move on to something else, but this time I think I found a solution that solves most of my problems using Apple's Mainstage and the Loopback plugin. First I want to explain the problems it solves for me, then I'll get to the details of how I implemented it.
- Multiple Song Sections - My current mainstage "concert" has 6 loopback channels. 3 of these are song sections (or groups in loopback terminology) A, B, C. This allows for automatic switching between sections such as verse, chorus and bridge. The other 3 loops are free to come in and out and can contain things such as drums or pads/drones so that I can bring drums in and out of songs to add more dynamics to a looping performance.
- Recall - With Mainstage, I can save my guitar/key sounds directly with the concert and not have to remember which sounds go with which songs.
- Routing Control - Mainstage is a basically a giant mixer that can host plugins, so I'm free to route audio how I want. My main use for this is to have looper bypass for individual parts so that I can do things like play a multi loop solo on one keyboard while adding to the loop with another.
- Loop Quanitization - By using a click (and tap tempo) I can have my loops quantized exactly the way I need them. Hitting record two beats before the loop kicks in really frees you up to think about the performance instead of trying to perfectly time all your button presses.
The actual looping plugin is called "Loopback". I use pretty simple settings but I will attempt to explain them here. 3 of my loopers are set to separate groups A, B and C. This gives me three song sections to work with. When you are playing back one of the groups, and hit record or playback on a looper from another group, the first one will stop playing and the new one will begin. This is great because with one button press you can switch to a different song section. I have the loopers set sync to the click and quantize to the bar. The length of the loopers needs to be turned all the way down so it displays '--' allowing you to set the length of the loop when recording it. All monitoring on the loops need to be turned off, otherwise you would hear your instruments on 6 different channels.
All looper tracks need to be created at the set level by clicking on the set in the left hand column. I have 6 looper track each with an individual Loopback plugin. These tracks have an input from a bus I call the 'looping bus' and their output to the main outputs. It helps to set up one track the way you want, test it, then copy it multiple times. I also have an aux track at the set level for each type of instrument I have (keys, guitar, drum pads, vocals). These all take inputs from separate buses and their output feeds the main output. This is how you monitor your playing. On these tracks, I also have a send setup at 0db to feed the 'looping bus'. This feeds your playing into the loopers. I have mapped multiple buttons to the mutes on these tracks allowing me prevent certain audio from going to the loopers. This way, I can be looping keys and guitar while a vocalist sings through mainstage without having her voice caught up in my looping. I can also unmute later to do things like add vocal harmonies.
The final step is to make the track with your actual instruments. I add a 'set' which looks like a folder to represent a song. Some instruments can go at the set level, while others will go in individual patches inside the set. For instance, If I only need one guitar sound the whole song, I would add it at the set level, but if I had multiple guitar sounds, I could make multiple patches with different sounds. Your input for each instrument track will be whatever your input or midi controller is and add effects and instruments as needed. Your output will need to be set to the bus inputs on the aux tracks above to allow proper monitoring and loop bypassing. To stay on beat, I enable the click and pan it all the way to the right (after using the 'show click' option in mainstage). Then you can output the left side to the audio system/recorder (I'm currently using an interface with just 2 outs).
The most important controller mapping is loop record and playback. I have a foot pedal with 2 rows of 6 buttons on it. I set the top row to 'Record' on each of the six loopbacks and the bottom row to 'Play/Stop' (These mappings are found in the Loopback's 'Non-automatable' folder). This way, when Mainstage is playing back, tapping record will start loopback recording on the next downbeat. Tapping record again will set your loop endpoint, begin playback from the beginning, and keep recording enabled allowing you to overdub. Tapping stop instead will do the same thing, but recording will be disabled. I also have buttons to reverse the loops and clear the loops.
Make sure your button to clear the loops is also mapped to loop length, resetting it to '--'. I experienced a bug with this saved value being wrong, but deleting the mapping resetting the specific loopback instance to '--' length and remapping the button to length solved the issue for me. A 'clear all' button mapped to all the loops clear and length values is a nice addition too. Add in any other controllers you need for your instruments and audio effects and you should be good to go. Let me know if you have any other questions about my looping setup in Mainstage.