Send the tempo to Ableton or LiveProfessor
Set up a virtual MIDI port, send the tempo and a delay time as controller values, and when to use MIDI clock instead.
On this page
MIDI output works in Chrome, Edge and Firefox on a laptop. Safari and iOS have no Web MIDI; detection itself works everywhere.
1. Create a virtual MIDI port
- macOS — open Audio MIDI Setup → Window → Show MIDI Studio, double-click IAC Driver and tick Device is online.
- Windows — install a virtual port such as loopMIDI.
2. Pick the port in TempoSense
Open Output ⚙. Choose the port under MIDI port and the Channel
the receiver listens on (1 is the usual default). Leave Only while
locked (or held) ticked so a breakdown or a searching phase does not
send nonsense.
3. Tempo as a controller — the safest path
Tick Send tempo as a controller. TempoSense sends a value only when the tempo changes and only while locked. Two modes:
- CC (7-bit) — the default, controller CC 20. Over an 80-BPM range this gives about 0.6 BPM steps.
- Pitch bend (14-bit) — 0.1 BPM resolution where the receiver supports it.
The value maps the current Range pill onto 0–127 (or 0–16383), so the receiver's mapping range must match the pill.
Ableton Live
- Preferences → Link/Tempo/MIDI → set the IAC port's Remote to On.
- Enter MIDI map mode (Cmd+M) and click the tempo field.
- Make TempoSense send a message — let the tempo move, or toggle Hold.
- Set the mapping range at the bottom to the same range as the pill (for example 80–160). Leave map mode.
Every tempo-synced delay, LFO and plugin now follows the room.
LiveProfessor — use MIDI Learn on the tempo control the same way.
4. Delay time as a controller
Tick Send delay time as a controller to drive a delay plugin's time parameter directly. Choose the Note value, a controller (default CC 21) and the ms range (default 0–2000 ms). Map the controller to the plugin's time parameter and set the plugin's mapping range to the same millisecond range.
MIDI clock
Send MIDI clock (24 ppqn) is for receivers that must slave. In Ableton set the port's Sync to On and enable EXT. Every correction of the detector becomes a small clock wobble in the receiver, and Ableton in slave mode cannot be tempo-automated by you at the same time. Prefer the controller path when the receiver should stay the master.
The status line at the bottom of the Output window shows what is
going out: tempo 128.2 → 77, delay 468 ms → 30, beats ÷1 ÷2 ÷4 ÷8
or clock 128.2. If it says Nothing sent yet, check the port and
that TempoSense is locked.
For beat pulses to a lighting desk, see Send beat pulses to a lighting desk.
Thanks for the feedback.