Three ways to keep the lighting in tempo, how they differ, how to send MIDI Clock on one machine and between two, and what to do when the source only speaks Ableton Link.
MIDI Beat Clock. The music source sends 24 ticks per quarter note, the
console derives the tempo from them and follows continuously. This is what
you want at a club night and on any set where the tempo moves.
Timecode. MTC or Art-Net timecode is not about tempo at all — it is about
position: a tightly scripted show where a specific cue belongs at 2:14.
That has its own article.
The rest of this one is about the second, because that is where the questions
are.
Turning it on here
Settings → MIDI, the checkbox "Follow MIDI Clock tempo". Next to it
there is a readout: MIDI Clock: 128.0 BPM when the source is alive, and
"No MIDI Clock coming in" when it is not.
The readout always works, the following only with the checkbox, and that
is deliberate. Half the synths and drum machines free-run a clock, and
following it by default would mean that for some people the tempo lives its
own life unasked. First check that the readout appears, then switch following
on.
While the clock leads, the BPM field and the TAP button are disabled — with a
tooltip explaining why. That is deliberate too: tapping against a live clock
would snap back to the source's tempo within a beat, and that reads as a
malfunction rather than "the source is in charge".
Turning it on at the source
Clock output is almost always off by default and lives in the sync settings:
in a DAW it is usually "MIDI Clock Send" to a specific port, in DJ software it
is the Sync or Link/MIDI section. If you cannot find that switch, there is no
point looking for the fault in the console: without it nothing goes down the
wire at all.
Wiring it up
One machine. You need a virtual MIDI port: the source writes into it, the
console reads from it.
- macOS: the built-in IAC Driver (Audio MIDI Setup → MIDI Studio window),
enable the device and select it as the port in both programs.
- Windows: the system has no virtual port of its own, so a third-party free
utility is installed (the best known is loopMIDI).
- Linux: ALSA provides virtual ports out of the box.
Two machines. Three options, from simplest to most proper:
- A MIDI cable through any USB-MIDI interface. Boring, but it works with
zero configuration and does not depend on the network.
- Network MIDI. On macOS it is built in (MIDI Network Session in the same
Audio MIDI Setup), on Windows you need third-party rtpMIDI. It runs over
the same network as Art-Net — no extra cable.
- A bridge from Ableton Link, if the source only speaks that: Link drives
a bridge program and the bridge sends MIDI Clock. Usually the DAW already
installed on the machine plays that role.
Ableton Link: plainly
We do not support it. The reason is not difficulty: the Link library is
dual-licensed — open GPL or proprietary by agreement with Ableton — and the
first option is incompatible with ours. On top of that it is a native module
for three platforms.
What that means for you in practice: where a DJ runs Link over Wi-Fi from
their own laptop, we need a bridge into MIDI Clock. One extra program in the
chain. Everything else — tempo, following, phase — works the same.
Diagnosis: where the chain breaks
Look at the readout in the MIDI settings; it splits the problem in two.
No readout. Nothing is reaching the console:
- Clock output is not enabled at the source (by far the most common).
- The wrong port is selected — a system usually has several virtual ports.
- The port is held by another program. Windows hands out a MIDI port
exclusively: while the DAW holds it, the second program will not get it.
Readout is there, the light is not in tempo. Check the effect: only those
whose period is set in beats, not in seconds, follow the tempo. That is
the toggle next to the period field.
The tempo is double or half. Clock is always 24 ticks per quarter, there
is nothing to lie about there — but the source may well be counting in a
different subdivision. This is not fixed by a setting: set the effect's period
to 2 or 0.5 beats.
The tempo jitters. One lost tick we survive (tempo is computed from the
median of intervals rather than the mean — otherwise a single loss would move
it by five percent). Systematic jitter can only be cured at the source: a
loaded CPU and a chain of USB hubs produce exactly that.
Two sources at once. The one that speaks first takes the lead; the others
stay silent while it is alive. Otherwise the intervals of two devices would
mix and the tempo would swing by a factor of two.
Phase: why the light is in tempo but off the beat
Tempo and beat are different things. The stream of ticks gives you the tempo;
where exactly "one" is, only the Start message tells you, and the source
sends it when playback begins from the top.
So: connect mid-track and you get the correct tempo, but the console cannot
guess the phase. Restart the track from the beginning (or hit stop-start at
the source) and effects with a period in beats will land on the start of a
beat.
Pulling the phase on every beat is something we deliberately did not do: the
tempo estimate always carries an error, and constant correction would show up
as stutter on slow effects — a cure worse than the disease.
What to check at the venue
- Unplug the cable and watch. The readout goes dark after a couple of
seconds while the tempo stays at its last value — the light neither freezes
nor runs away. That is deliberate: mid-number, being a couple of percent off
beats coming to a halt.
- Test on a real track, not a metronome. A metronome is steady, a live set
is not; the transitions are where you see whether the source keeps up.
- Decide in advance what leads. If the clock leads, the BPM field is
disabled — that should not come as a discovery a minute before the show.