You are here

Reason: External Clocking

Propellerhead Reason Tips & Techniques
By Simon Sherbourne

Reason: External Clocking

We show you how to keep Reason in sync with the outside world.

Last month we looked at how to use external MIDI hardware with Reason, and this naturally leads on to the consideration of synchronisation. Getting your music and studio gear singing from the same hymn sheet is fundamental unless you only ever want to work purely in Reason.

Laplace's Demon

In his classic thought experiment, Laplace posited that an entity that knew the current location and momentum of every atom in existence could derive the entire past and future of the universe. Synchronisation is defined by the same two properties: position and speed; where am I, and how fast am I going?

Classic timecode (such as LTC and its MIDI equivalent MTC) transmits positional information. It is a stream of 'I'm here' messages. Speed can be inferred by how often these messages arrive. Traditionally 'clock', such as word clock or digital clock, only relates to speed. It's some kind of regularly spaced pulse.

Reason supports three different sync systems: MIDI Clock, Ableton Link, and ReWire. This month we're looking at MIDI Clock (or MIDI Beat Clock), which is extra versatile because it actually carries both speed and position data. It uses a clock pulse referenced to musical time (24 pulses per quarter note to be exact) and also transmits the bar and beat position of its source. It's very widely supported in music apps and hardware synths and drum machines, some of which may use only the clock, or both clock and the location messages (which are called Song Position Pointers).

Ableton Link, on the other hand, is primarily a speed reference. It provides a shared tempo grid that devices can jump onto at any time. While it doesn't include Song Position Pointers like MIDI Clock, it does provide a bar framework so that devices can pick up 'on the one'.

To round out the overview of sync types, ReWire provides a way for apps like Reason to operate under the 'umbrella' of another host, while still running as a stand-alone app. Part of this is synchronisation of tempo and song position, much like MIDI Clock. It also includes transport control...

Transport Control

OK, I said that sync was all about position and speed, but there's one more related concept: transport control. Do devices or apps start and stop independently of each other, or do they coordinate their transports in some way?

Classic timecode does not include any messages to communicate transport commands. A separate protocol called Machine Control was developed for this, and is still in widespread use in mixing consoles, recorders and DAWs. Reason, though, does not support either of these things so it's academic!

Screen 1: MIDI Beat Clock routing is configured in the Sync Preferences. Offsets allow you to manually adjust the timing.Screen 1: MIDI Beat Clock routing is configured in the Sync Preferences. Offsets allow you to manually adjust the timing.MIDI Clock does, however, embed Start and Stop messages, as well as Continue messages which provide for a distinction between jumping to a specific position and restarting from the beginning.

MIDI Clock

When clocking devices together one device is designated as the master, which all others will follow. All devices start and stop when the master does, and will track its tempo. A typical scenario is Reason as the master controlling external hardware instruments. It's also possible for the roles to be reversed though, and for Reason to chase an external device or an app or DAW on another computer. To sync Reason to a DAW on the same computer you can usually use ReWire instead, a topic we'll revisit soon.

As this started with us thinking about external hardware instruments I'll use the example of Reason controlling an external groovebox: a Novation Circuit connected via USB. The place to start setting up MIDI Clock sync is the Sync tab of Reason's Preferences (Screen 1). In this case Reason is master, so I need to choose an output for clock, and can simply choose the Circuit. There are also some further tweaky checkboxes that choose whether to include position data, whether to keep the clock running in stop, and whether to include Stop/Continue message. I'll keep them all on.

Screen 2: Reason's sync mode and clock output controls are both available in the transport bar.Screen 2: Reason's sync mode and clock output controls are both available in the transport bar.After configuring the Preferences, I set Reason's own Sync mode to Internal from the pop-up in the transport bar, as in Screen 2 (these options are also available in the Options / Sync menu). I can now toggle MIDI Clock output on and off with the Send Clock button in the transport bar. The last step is to enable external MIDI Clock sync on the Circuit. Now I can hit Play in Reason and my Circuit comes along for the ride.

Fine Tuning

Once you've got an external device successfully chasing Reason's transport, it's a good idea to check how tight the sync is. Various factors can affect this, but the main one is going to be the audio latency factor we explored last month. If you're monitoring the external instrument through Reason, it will be delayed by Reason's audio input and output buffers. If you're monitoring the instrument directly there will still be some discrepancy as Reason's audio output is buffered.

The Sync Preferences provides a means to offset the clock output for optimal alignment. The offset can be changed in real time during playback, enabling you to set the sync by ear. To do this, create a simple quarter‑note rhythmic pattern on your external instruments to match Reason's click. Obviously this is pretty straight-forward with a drum machine, and if it has it's own built-in metronome just use that. For a synth, use a short sound with a fast attack.

Now set Reason and your instrument playing and experiment with the offset value. I find it's best to dial in an extreme setting first so there's an obvious offset between the two sources. Then adjust back the other way to bring the clicks together. (Negative offsets will slip the external device earlier in time and vice versa). Adjust the offset until the sync starts to go out in the opposite direction, then pull it back until you get as close as possible.

A limitation of the sync offset is that a negative value greater than the audio buffer has no effect. In my experience this means you don't have enough offset if you monitor your external instrument through Reason. And as we saw last month, Reason doesn't compensate recordings for latency when you monitor through the software. This is based on Propellerhead's idea that a live player will adjust their playing by ear, but of course an instrument clocked to Reason doesn't do this! Unless you can run with a negligible buffer, the best approach is to use External Monitoring mode, where Reason correctly adjusts recorded audio.

Multiple Devices

Screen 3: As Reason can only target a single MIDI destination for MIDI Clock, you may need to think about connecting multiple devices via MIDI thru ports or a MIDI interface that can distribute Clock.Screen 3: As Reason can only target a single MIDI destination for MIDI Clock, you may need to think about connecting multiple devices via MIDI thru ports or a MIDI interface that can distribute Clock.You may have noticed that you can only choose a single destination for MIDI Clock in Reason's Sync Preferences. (This is a peculiar limitation: in Live and Pro Tools I'm able to select multiple devices and ports). So what if you have more than one thing you need to clock? There's a few ways you can tackle this...

If your devices are connected to a MIDI interface, it may have the ability to pass on the Clock to all connected devices. In this case you can select the device itself as the output rather than any of the specific end-points. For example, in Screen 3 I've connected my Circuit and other devices to a Retrokits RK‑005, which acts like a thru box by default. It's also possible to buy a cheap passive thru box like Kenton's THRU-5 to distribute MIDI Clock to multiple devices.

It's sometimes possible to daisy-chain your devices so that they pass on (thru) the Clock to one another. This requires that all devices except the last one have a thru port, or an output that can function as one. Alternatively some devices can both generate and follow clock at the same time. This means you can control one device from Reason, and have others follow that. As a last resort Reason could be set up as the Clock slave.

A last word about Ableton Link, which we covered back in November 2016. Reason can sync to Ableton Link, but can't generate it. What's cool is that Reason still works as a MIDI Beat Clock master if it's synchronised to Ableton Link, so your whole hardware setup can jump on board together.

Published May 2019