Ableton Live MIDI MTC Sync

In this tutorial I will describe how to make the Perfect MIDI Sync between two Ableton Live computers. I will use two Windows XP systems, but it is also possible to do this between a Windows XP and Mac OS X system. For more background information regarding MIDI Sync options and MIDI Time Code you can read my previous blog posting about this. And best of all, the MIDI Sync will be free.

Connection Schema

The schematic lay-out of the MIDI Sync "network" that we're going to make is shown in the image above. We will require the following software/hardware:

MIDI Yoke

First we need to install on both Systems MIDI Yoke. MIDI Yoke will create virtual MIDI Adapters under windows that we need to transport the MIDI signals between Ableton Live and Wac.NetworkMIDI.

Install this on both systems and reboot after the installation to make the virtual MIDI Adapters available. MIDI Yoke doesn't require any configuration, for the routing of the signals we will use MIDI-OX.

MIDI-OX

On the master system install MIDI-OX. After installation start the application and you should see a screen that looks like the screen shown below:

MIDI-OX

First we're going to use MIDI-OX to route the MTC signal from MIDI-OX to two MIDI Yoke Virtual MIDI Adapters. Therefore we need MIDI-OX to open the required MIDI interfaces. In MIDI-OX click on Options > MIDI Devices to configure the MIDI Inputs and Outputs. Select from the MIDI Inputs and MIDI Outputs list the first two MIDI Yoke interfaces as shown in the image below and click Ok.

MIDI Devices

To configure MIDI routes click on View > Port Routings, this shows a new window in MIDI-OX with the MIDI Devices we just selected plus the MIDI-OX Event Port. See also the screenshot below.

MIDI Port Routing

We will use MIDI-OX to send a MTC signal to both Wac.NetworkMIDI and Ableton Live on the master system. Therefore we need two Virtual MIDI Adapters that contain the MTC signal. In MIDI-OX's MIDI Port Routing click and hold the left mouse button on the MIDI-OX Event Port and draw a line to the Out To MIDI Yoke: 1 connector. Repeat this step to draw also a line to Out To MIDI Yoke: 2 connector.

MIDI Port Routing Routed

Wac.NetworkMIDI Master

Download Wac.NetworkMIDI and extract the contents of the zip file on your hard drive. Do this for both machines. On the master start the application and configure the Network MIDI Send part. Select In From MIDI Yoke: 2 for both MIDI Real-Time Message In and MIDI In. Check the boxes Send Sync and Send Midi. Stick with the default Port number and change the IP address to that of the Slave computer. Make sure that you disable on both systems the firewall. The settings should look like this:

Wac.NetworkMIDI Master

Wac.NetworkMIDI Slave

On the slave computer configure the Network MIDI Receive part of Wac.NetworkMIDI. Select Out To MIDI Yoke: 1 for both MIDI Real-Time Message Out and MIDI Out. Check both the Receive Sync and Receive Midi checkboxes. Leave the Port number unchanged or make sure that it matches the port number configured on the MIDI Master computer.

Wac.NetworkMIDI Master

Test MIDI Network Connection

On the MIDI Master computer you can now hit the Test button to verify the network connection between the two Wac.NetworkMIDI applications. In the Max Runtime console you should see a message saying "network data received on port 7500".

Wac.NetworkMIDI Test

Ableton Live MIDI Sync Configuration

Install on both systems Ableton Live, I used Ableton Live 8.1, but older versions should work also. If you don't have 2 licenses or only 1 you can also download a demo version from their website. The standard version (non suite) will do just fine.

On both computers we have prepared MIDI Yoke: 1 for sending the MIDI MTC signal to Ableton Live. So the configuration on both systems will be the same.

In Ableton Live go to Preferences > MIDI Sync. For the MIDI Port In From MIDI Yoke: 1 set the Sync button to On and set the Sync Type to MIDI Time Code.

On either the MIDI Slave or MIDI Master computer you will also need to configure the MIDI Clock Sync Delay to compensate for any delay that occurs to the MIDI MTC signal.

Ableton Live Preferences MIDI Sync

In both Ableton Live's you now need to set the tempo to the same BPM value since MIDI MTC does send a time value but not a speed value. Press the EXT button to let Ableton Live listen to an external sync signal.

Ableton Live EXT

MIDI-OX MIDI MTC

Now all we need to do is send an MIDI MTC signal from MIDI-OX. In MIDI-OX click on View > MTC Transport. This shows the MTC Transport window. Go with the defaults as shown below.

MIDI-OX MTC Transport

When you click the Play button both Ableton Live applications will start running. Use the metronome to listen to any delay and correct that.

MIDI-OX MTC Transport Playing

MIDI MTC Sync Multiple Ableton Live Computers

In theory you could sync more then two Ableton Live computers. It would require you to route the MIDI-OX signal to additional MIDI Yoke ports and run multiple instances of Wac.NetworkMIDI that are all connected to their own MIDI Yoke port.

Ableton Live Sync Signal

Traktor Scratch Pro

I'm also working on a tutorial that Syncs Traktor Scratch Pro and Ableton Live. You could see that as Brigde for both Traktor Scratch Pro instead of Serato Scratch.

Commercial Use

Some of the software used in this tutorial is free for personal use. For commercial use you will need to purchase the correct licenses. In case of personal use I would suggest you make a donation to support the authors.