Sending External Beat Clock from MainStage

After exploring the differences between Timecode and MIDI Beat Clock, David Earl moves on to show how to sync two Macs running MainStage. For a fail-safe live performance rig this tip is unbeatable!  

MainStage is becoming a go-to program for live musicians who want to have realtime control over instruments and effects on stage. Recently Thom Kirkpatrick, a keyboardist and electronic musician travelling with The Kooks, asked me if there was a way to sync multiple computers running MainStage together.

When playing live to sold-out crowds, the last thing you want to happen is to have a computer go down during performance. To help keep anything like this from affecting the flow of the show, electronic musicians have started creating redundant systems that kick in when a computer goes down for the count. 

In Thom's case, he had two laptop computers running identical MainStage sessions. He had already routed MIDI to both computers from a single controller, but he needed to be sure that backing tracks and effects were following the correct tempo of whatever patch he happened to be in. He needed to be sure that MainStage #2 was playing backing tracks aligned with MainStage #1. To sync the systems, he needed some kind of reference. 

MainStage is not like other programs. Usually in other programs you would have a synchronization preference that would allow you to send multiple types of timecode out of a MIDI port. The two major references would be Timecode and Beat Clock. 

Timecode is absolute time. It has a time base of Hours, Minutes, Seconds, and Frames. In the film world, there are usually between 24 and 30 frames per second, which relates to how the film is captured and played back. MIDI Timecode is absolute, meaning that a second lasts a second long, an hour is an hour… in other words, time is not flexible in timecode. That's the whole point. In the film world, you want to be sure a synced frame is dead on time.

MIDI Beat Clock is more like snapping your fingers to the beat. It is not as ruthlessly consistent as timecode, and allows for tempo changes in the timeline. MainStage uses MIDI Beat Clock to send the tempo of a patch to external devices and programs. Usually in a MainStage world, we are more concerned with changing tempos rather than absolute time. 

Setting up MainStage to send MIDI Beat Clock is a bit tricky, but once you know the drill, you'll have no problem sending Beat Clock to other devices and programs.

Step 1 - Create an external Instrument in your Patch

In Edit Mode, go to the 'Add Channel Strip' button in the upper right corner of the mixer:

Add channel strip

From the menu, select 'External Instrument'. Be sure to tell it what port you are sending the Beat Clock to. That would be the 'MIDI Output'.

Step 2 - Adjusting the MIDI Output

Now that the external instrument is in the patch, we have the ability to send beat clock from the patch. Select the channel strip for the External Instrument, and look at its MIDI Output tab. Select the checkbox for 'Send MIDI Beat Clock', 'Send Start Message', and 'Send Stop Message'. These settings seem to work best for me:

MIDI Output settings

Now you are good to go, as far as sending MIDI is concerned. To get the tempo set for the patch, simply select the patch from the left side of the screen, and set your tempo under the attributes tab:

Attributes tab

And for good measure, here's Thom Kirkpatrick from the Kooks! Thom is a swell fella, and The Kooks rock. It was fun to see two MainStage sessions on 2 computers completely in sync. Apparently if his first computer goes down, the transition to the other computer is pretty flawless. 

Thom Kirkpatrick from The Kooks with his MainStage rig.

Enjoy the possibilities!

David writes music for all media including advertising, branding, movies, television, and games. He works for such clients as Sega, LucasArts, Microsoft Game Studios, Landor and Associates, Beyond Pix, Rich Pageant, and Nextel. He also teaches at an Apple Certified training facility in San Francisco called Pyramind and has long bee... Read More


Paul Spencer
Having difficulty getting reliable sync between two mainstage setups.
Mine is for keys and the other is the drummers. I have created a network midi connection. Both setups are connecting to it OK, and I can get my setup to track tempo changes the drummers patches create.
I wish to use the ARP from ms3 and also from Omnisphere, together with some of the rhythmic env mods and have them sync to midi clock from drummers laptop.
On the drummers setup I am using playback to play the click track, which is sync'd to its own midi clock fine.
At its most basic, I can't even get the metronomes to sync.
Hi Paul, did you figure it out? We're also trying to sync up our keys and drums.
I would not trust network MIDI. What I did was use a physical MIDI cable to send to a MIDI box that would send the MIDI messages from the controller to 2 computers at once. This would allow for the patch change messages to be received by both computers. The MIDI clock was not what I used to sync the systems. The idea was to have a redundant system that was always on. If he hits play, both computers are playing at once. the sync was mechanical, not clock. It was for catastrophic failure.

I'm going to ask the Logic team if there is something I'm missing, but I don't think you can receive clock.
Hi! I'm sure this is a silly question, but how are the two Macs actually connected? I know you mentioned a MIDI controller, how does that work? I'm new to the idea of connecting two Macs with Mainstage but would really love to be able to.

Want to join the discussion?

Create an account or login to get started!