Spectralite Real-Time Beat Tracker
Spectralite RTBT is an online beat and tempo tracker for live DJ sets. On electronic music it outperforms the latest online research trackers and the beat detection in commercial lighting and DJ software.
90.6 %90.6 % of tempo changes picked up within 5 seconds
- Spectralite
90.6 %90.6 % - Ableton Live
7.4 %7.4 % - grandMA3
64.5 %64.5 % - ONYXpending
- Spectralite
97.4 %97.4 % of the time showing the right BPM
- Spectralite
97.4 %97.4 % - Ableton Live
70.7 %70.7 % - grandMA3
77.7 %77.7 % - ONYXpending
- Spectralite
95.3 %95.3 % right BPM through a laptop mic
- Spectralite
95.3 %95.3 % - Ableton Livepending
- grandMA3pending
- ONYXpending
- Spectralite
91.8 %91.8 % back on the beat within 10 seconds of a tempo change
- Spectralite
91.8 %91.8 % - Ableton Liveno beats
- grandMA3no beats
- ONYXpending
- Spectralite
State-of-the-art online beat tracking
An online tracker hears only what has already played and must commit to each beat and tempo as the music arrives. It cannot go back and revise. An offline tracker reads the whole file, past and future, before it answers. Online tracking is the only kind that works for a live set, where the lights must fire on a beat before it lands. Every system on this page runs online on the same live audio, making the comparison like for like.
We introduce Spectralite RTBT, a streaming transformer for beat and tempo tracking. A causal convolutional front end reads the log-mel spectrogram. Transformer layers with rotary position embeddings then attend over a bounded window of past audio under a block-causal mask. Two output heads predict the beats and the local tempo directly, frame by frame.
RTBT learns from electronic and club music, with training built around the conditions of a live set: a DJ changing the tempo under it, and the room it plays in, from a venue's acoustics and crowd to a laptop microphone. It is tuned to pick up a tempo change quickly and to hold steady while the tempo holds.
For live lighting, RTBT announces each beat before it lands, early enough for a lighting desk to fire on it. Every beat score on this page counts a beat only when it was announced 100 ms ahead. The tracker needs only a small fraction of one laptop CPU core, and that cost stays the same however long the set runs.
Reacts to tempo changes quickly
We train RTBT to respond quickly when a DJ rides the pitch fader or jumps to the next record. The tracker predicts the tempo directly as well as the beats. It picks up a new tempo fast and settles onto the new beat grid.
The charts below measure the share of 256 clips where the beats line up again after a 4 % tempo change, and the share of the time the BPM shown is right.
DJ and lighting software
- Spectralite RTBT77 / 92 %
- Ableton Live Tempo Followerno beats reported
- VirtualDJpending
- grandMA3 onPCno beats reported
- Obsidian ONYXpending
- FreeStyler DMXpending
Research and open-source trackers
- Spectralite RTBT77 / 92 %
- madmom (online)42 / 69 %
- BeatNet+50 / 64 %
- BTrack41 / 64 %
- BTT (Krzyzaniak)1 / 61 %
- IBT43 / 56 %
- BeatTrack (SuperCollider)5 / 56 %
- aubio16 / 46 %
- BeatNet28 / 45 %
DJ and lighting software
- Spectralite RTBT97.4 %
- grandMA3 onPC77.7 %
- Ableton Live Tempo Follower70.7 %
- VirtualDJpending
- Obsidian ONYXpending
- FreeStyler DMXpending
Research and open-source trackers
- Spectralite RTBT97.4 %
- BTT (Krzyzaniak)93.1 %
- BeatTrack (SuperCollider)88.4 %
- aubio83.1 %
- BTrack79.4 %
- IBT78.7 %
- BeatNet+67 %
- madmom (online)63.6 %
- BeatNet46 %
The views below trace the response over time. They show how each system handles an instant jump and a gradual pitch fader ramp.
Beat re-lock
Ramp lengthOf the 96 clips where the fader moves over 2 s, the share whose beats, announced 100 ms ahead, have locked onto the new tempo by time since the fader stopped.
The chart as a table
| Clips re-locked within | 1 s | 2 s | 5 s | 10 s | 20 s |
|---|---|---|---|---|---|
| Spectralite RTBT | 67 % | 76 % | 89 % | 93 % | 96 % |
| madmom (online) | 25 % | 32 % | 49 % | 72 % | 80 % |
| BeatTrack (SuperCollider) | 0 % | 2 % | 35 % | 61 % | 72 % |
| BTT (Krzyzaniak) | 0 % | 0 % | 6 % | 66 % | 79 % |
| BeatNet+ | 32 % | 48 % | 61 % | 67 % | 80 % |
| IBT | 20 % | 39 % | 53 % | 59 % | 68 % |
Reported tempo
Ramp lengthThe tempo each system reports in 96 clips where a tempo fader moves the tempo by 2, 4 or 8 %, up or down, over 2 s and then stays put. Time runs from the moment the fader starts to move, and the dotted line marks where it stops. The shaded band is Spectralite RTBT's middle half of clips.
Tempo, from the old tempo (0) to the new one (1): median over the clips
Share of clips whose tempo is within 1 % of the true tempo
The chart as a table
| Within 1 % of the true tempo | 1 s | 2 s | 5 s | 10 s |
|---|---|---|---|---|
| Spectralite RTBT | 23 % | 3 % | 92 % | 95 % |
| madmom (online) | 6 % | 0 % | 8 % | 55 % |
| BeatTrack (SuperCollider) | 17 % | 3 % | 19 % | 63 % |
| BTT (Krzyzaniak) | 20 % | 0 % | 20 % | 86 % |
| BeatNet+ | 13 % | 3 % | 57 % | 64 % |
| IBT | 15 % | 1 % | 39 % | 50 % |
Every system over 2 s ramps
| System | Tempo lag | Tempo within 1 % | Tempo settled, 2 s | Beats back, 2 s | Beats back, 10 s | Beats on time | Beat offset |
|---|---|---|---|---|---|---|---|
| Spectralite RTBT | 1.3 s | 32 % | 91 % | 76 % | 93 % | 0.96 | 12 ms |
| madmom (online) | 6.7 s | 12 % | 3 % | 32 % | 72 % | 0.40 | 7 ms |
| BeatNet+ | 2.4 s | 22 % | 32 % | 48 % | 67 % | 0.73 | 15 ms |
| BeatNet | 4.1 s | 16 % | 19 % | 28 % | 43 % | 0.50 | 27 ms |
| BTrack | 3.8 s | 18 % | 18 % | 23 % | 60 % | 0.71 | 15 ms |
| IBT | 4.0 s | 23 % | 13 % | 39 % | 59 % | 0.62 | 20 ms |
| BTT (Krzyzaniak) | 3.9 s | 26 % | 1 % | 0 % | 66 % | 0.71 | 16 ms |
| aubio | 4.9 s | 19 % | 13 % | 5 % | 51 % | 0.58 | 26 ms |
| BeatTrack (SuperCollider) | 5.1 s | 24 % | 8 % | 2 % | 61 % | 0.61 | 32 ms |
Holds steady through the track
A stable tracker holds the BPM steady through a track. It keeps the octave put and keeps the beats going through a breakdown. Spectralite RTBT folds octave errors to the tempo it already holds, so a 174 BPM track stays at 174. Genuine tempo changes within the octave pass straight through.
Annotators marked 151 breakdowns by hand in 95 full electronic tracks. In each one the kick drops out and comes back at the drop, and the tempo stays the same. The chart shows the share of labelled beats with a beat within 70 ms, announced 100 ms ahead, bar by bar around the start of the break and around the drop. The grey line at 100 % is a beat on every labelled beat.
Share of labelled beats with a beat within 70 ms, by bar: around the start of the break (left) and around the drop (right)
The chart as a table
| On the beat | Bar before the break | Bar 4 of the break | Bar 8 of the break | Bar before the drop | First bar of the drop | Bar 4 of the drop |
|---|---|---|---|---|---|---|
| Spectralite RTBT | 100 % | 100 % | 100 % | 93 % | 93 % | 99 % |
| madmom (online) | 55 % | 24 % | 26 % | 28 % | 27 % | 67 % |
| BeatTrack (SuperCollider) | 49 % | 42 % | 43 % | 39 % | 41 % | 44 % |
| BTT (Krzyzaniak) | 44 % | 44 % | 43 % | 46 % | 47 % | 51 % |
| BeatNet+ | 96 % | 80 % | 72 % | 72 % | 68 % | 95 % |
| IBT | 58 % | 52 % | 54 % | 52 % | 52 % | 55 % |
Every system during breaks
| System | On the beat before | On the beat during | Drop's first 4 beats on the beat | Back within 2 s (35 ms) | Back within 2 s (70 ms) | Tempo right during | Drifted off tempo | Beat jumps per minute | Beats on time after |
|---|---|---|---|---|---|---|---|---|---|
| Spectralite RTBT | 100 % | 97.2 % | 93 % | 83 % | 95 % | 99.6 % | 1 % | 0.2 | 0.98 |
| madmom (online) | 54 % | 32.4 % | 25 % | 23 % | 28 % | 35.6 % | 86 % | 2.0 | 0.64 |
| BeatTrack (SuperCollider) | 50 % | 44.2 % | 18 % | 15 % | 19 % | 74.6 % | 49 % | 24.3 | 0.47 |
| BTT (Krzyzaniak) | 47 % | 46.3 % | 44 % | 40 % | 42 % | 93.6 % | 19 % | 4.5 | 0.50 |
| BeatNet+ | 96 % | 77.2 % | 52 % | 36 % | 52 % | 65.7 % | 58 % | 38.5 | 0.86 |
| IBT | 58 % | 53.3 % | 48 % | 38 % | 47 % | 75.8 % | 35 % | 0.6 | 0.55 |
| BeatNet | 59 % | 49.5 % | 29 % | 19 % | 25 % | 44.2 % | 83 % | 35.6 | 0.56 |
| BTrack | 60 % | 53.9 % | 47 % | 50 % | 54 % | 27.8 % | 58 % | 4.3 | 0.59 |
| aubio | 44 % | 37.4 % | 27 % | 28 % | 32 % | 0.3 % | 43 % | 9.2 | 0.45 |
On the beat: the share of labelled beats with a beat within 70 ms, in the 8 bars before the break and during it. Drop's first 4 beats: the share of breaks with all four on the beat. Back within 2 s: the share of breaks with 8 beats in a row within 35 ms (or 70 ms) of the labels by 2 s after the drop. Tempo right: the share of the break with the reported tempo within 1 %. Drifted off tempo: the share of breaks where the reported tempo sat more than 2 % off for 2 s or more during the break, a reading at double or half the tempo included. Beat jumps: beats more than 35 ms off the rhythm of the beats before them, per minute of break. Beats on time after: the F-measure within 70 ms over the 8 bars after the drop.
Tracks electronic music and microphone audio
The tracker maintains high accuracy on electronic music. It also holds up when the audio passes through a venue's acoustics, the crowd, and a laptop microphone.
DJ and lighting software
- Spectralite RTBT0.980
- Ableton Live Tempo Followerno beats reported
- VirtualDJpending
- grandMA3 onPCno beats reported
- Obsidian ONYXpending
- FreeStyler DMXpending
Research and open-source trackers
- Spectralite RTBT0.980
- BeatNet+0.841
- BeatNet0.599
- BTrack0.596
- IBT0.563
- BTT (Krzyzaniak)0.536
- BeatTrack (SuperCollider)0.530
- madmom (online)0.515
- aubio0.453
DJ and lighting software
- Spectralite RTBT95.3 %
- Ableton Live Tempo Followerpending
- VirtualDJpending
- grandMA3 onPCpending
- Obsidian ONYXpending
- FreeStyler DMXpending
Research and open-source trackers
- Spectralite RTBT95.3 %
- BTT (Krzyzaniak)87.5 %
- BeatTrack (SuperCollider)85.9 %
- BTrack82 %
- IBT79.7 %
- aubio75.8 %
- BeatNet59.4 %
- BeatNet+53.1 %
- madmom (online)42.2 %
Holds up outside electronic music
Spectralite RTBT trains and tunes for electronic and club music. On GTZAN's 998 excerpts across ten genres, from blues and classical to rock and hip-hop, these charts show how each system does outside that focus. Beats count when announced 100 ms ahead. The BPM is right when the tempo a system shows for an excerpt is within 4 % of the annotated tempo. Half or double the tempo counts as wrong. GTZAN gives each excerpt a single annotated tempo, although outside dance music half or double that tempo is often an equally fair reading. Such readings make up most of the misses for Spectralite RTBT and for most of the other trackers.
DJ and lighting software
- Spectralite RTBT0.743
- Ableton Live Tempo Followerno beats reported
- VirtualDJpending
- grandMA3 onPCno beats reported
- Obsidian ONYXpending
- FreeStyler DMXpending
Research and open-source trackers
- Spectralite RTBT0.743
- BeatNet+0.742
- BTrack0.712
- BTT (Krzyzaniak)0.699
- IBT0.693
- madmom (online)0.690
- BeatNet0.687
- aubio0.608
- BeatTrack (SuperCollider)0.599
DJ and lighting software
- Spectralite RTBT75 %
- Ableton Live Tempo Followerpending
- VirtualDJpending
- grandMA3 onPCpending
- Obsidian ONYXpending
- FreeStyler DMXpending
Research and open-source trackers
- Spectralite RTBT75 %
- madmom (online)71.4 %
- BTrack68.9 %
- BeatNet+67.4 %
- IBT66.6 %
- aubio66.6 %
- BTT (Krzyzaniak)66.5 %
- BeatNet66.2 %
- BeatTrack (SuperCollider)58.8 %
All results as a table
| System | Re-locked within 3 s | Re-locked within 10 s | Unstable tempo | Beat accuracy, electronic | Beat accuracy, microphone | BPM right, microphone | Beat accuracy, ten genres (GTZAN) | BPM right, ten genres (GTZAN) |
|---|---|---|---|---|---|---|---|---|
| Spectralite RTBT | 77 % | 92 % | 2.63 % | 0.980 | 0.920 | 95 % | 0.743 | 75 % |
| madmom (online) | 42 % | 69 % | 36.39 % | 0.515 | 0.457 | 42 % | 0.690 | 71 % |
| BeatNet+ | 50 % | 64 % | 33.05 % | 0.841 | 0.586 | 53 % | 0.742 | 67 % |
| BeatNet | 28 % | 45 % | 53.99 % | 0.599 | 0.461 | 59 % | 0.687 | 66 % |
| BTrack | 41 % | 64 % | 20.55 % | 0.596 | 0.550 | 82 % | 0.712 | 69 % |
| IBT | 43 % | 56 % | 21.31 % | 0.563 | 0.472 | 80 % | 0.693 | 67 % |
| BTT (Krzyzaniak) | 1 % | 61 % | 6.88 % | 0.536 | 0.535 | 88 % | 0.699 | 67 % |
| aubio | 16 % | 46 % | 16.88 % | 0.453 | 0.420 | 76 % | 0.608 | 67 % |
| BeatTrack (SuperCollider) | 5 % | 56 % | 11.63 % | 0.530 | 0.480 | 86 % | 0.599 | 59 % |
How each system was run
- Spectralite RTBT
- Spectralite's tools at model v0.3.0: tracker, decoder and beat lock
- madmom (online)
- 8-network LSTM ensemble, online DBN, defaults; tempo from its TempoDetectorBöck, Krebs and Widmer, ISMIR 2014
- BeatNet+
- online mode, particle filter, generic weights; tempo fitted to its last 8 beats (it reports none)Heydari et al., TISMIR 2024
- BeatNet
- online mode, particle filter; tempo fitted to its last 8 beats (it reports none)Heydari, Cwitkowitz and Duan, ISMIR 2021
- BTrack
- real-time beat tracker, defaultsStark, Davies and Plumbley, DAFx 2009
- IBT
- INESC Porto beat tracker, causal modeOliveira et al., ISMIR 2010
- BTT (Krzyzaniak)
- real-time beat and tempo tracker, defaults
- aubio
- tempo object, default method
- BeatTrack (SuperCollider)
- Davies' real-time beat trackerDavies and Plumbley, IEEE TASLP 2007
Measures against lighting and DJ software
Lighting consoles and DJ software hear the same audio as Spectralite RTBT through an audio loopback as it plays.
Tempo followed within 5 s and within 20 s is the share of tempo-change clips whose reported tempo settles within 1 % of the new tempo that soon after the change. Tempo right is the share of tracks whose reported tempo is within 4 % of the real one. A reading at half or double the tempo counts as wrong.
| Software | Tempo followed within 5 s | Tempo followed within 20 s | Unstable tempo | Tempo right, electronic | Tempo right, microphone |
|---|---|---|---|---|---|
| Spectralite RTBT | 91 % | 98 % | 2.63 % | 100 % | 95 % |
| Ableton Live Tempo Follower | 7 % | 21 % | 29.30 % | Pending | Pending |
| VirtualDJ | Pending | Pending | Pending | Pending | Pending |
| grandMA3 onPC | 64 % | 91 % | 22.29 % | Pending | Pending |
| Obsidian ONYX | Pending | Pending | Pending | Pending | Pending |
| FreeStyler DMX | Pending | Pending | Pending | Pending | Pending |
Beats count only when announced 100 ms ahead.
| Software | Re-locked within 3 s | Re-locked within 10 s | Beat accuracy, electronic | Beat accuracy, microphone |
|---|---|---|---|---|
| Spectralite RTBT | 75 % | 93 % | 0.981 | 0.920 |
| VirtualDJ | Pending | Pending | Pending | Pending |
| Obsidian ONYX | Pending | Pending | Pending | Pending |
| FreeStyler DMX | Pending | Pending | Pending | Pending |
Reported tempo
Ramp lengthThe tempo each one reports in 96 clips where a tempo fader moves the tempo by 2, 4 or 8 % over 2 s, from the moment the fader starts to move.
Tempo, from the old tempo (0) to the new one (1): median over the clips
Share of clips whose tempo is within 1 % of the true tempo
Pending for fader ramps: VirtualDJ, Obsidian ONYX, FreeStyler DMX.
Software versions and settings
- Spectralite RTBT
- the same measurement as the main results (BPM Sync's engine and beat lock)
- Ableton Live Tempo Follower
- Live 12 as it opens, Follow on; tempo over Ableton Link
- VirtualDJ
- line-in deck with beat detection; beats over OS2L
- grandMA3 onPC
- sound BPM detection driving a speed master
- Obsidian ONYX
- Windows; not measured yet
- FreeStyler DMX
- Windows; not measured yet
How we measure
The numbers describe the whole system the tools run: the model, its decoder and the beat lock together.
Lighting software sends each cue early to cover the audio, network and fixture delay. These figures count a beat when it was announced at least 100 ms before it happened: Spectralite RTBT's scheduled beats, and for the other systems the beats their latest reported tempo and beat position predict. Systems that report a tempo without beats have no bar here. Each system's constant beat offset is measured once on separate calibration tracks and removed up to 40 ms either way. Only an offset beyond 40 ms counts against it.
Back on the beat means eight beats in a row arrive within 35 ms of the real beats. BPM right means the reported tempo is within 4 % of the music's while it holds steady. Half or double the tempo counts as wrong. Beats on time is the F-measure of the announced beats against the real ones within 70 ms, from 0 to 1. For the tempo-follow and ramp measures, the tempo is tracked within 1 %. Settled means the reported tempo is within 1 % of the new tempo and stays there within 2 s of the fader stopping.
Evaluation data sets
Every result on this page comes from the sets below. None of their tracks appear in training, model selection or tuning for the beat lock. Raveform and GTZAN are public. We render the tempo-change, fader-ramp and microphone sets ourselves.
- Raveform, fold 7173 full electronic tracks with hand-labelled beats, from fold 7 of the dataset's own splitKim et al., TISMIR 2026
- GTZAN998 thirty-second excerpts across ten genres, scored against the Beat This! beat annotationsTzanetakis and Cook, IEEE TSAP 2002
- Tempo changes256 one-minute clips from 64 electronic tracks, each with one tempo change of 4 % up or down, half instant and half over 5 s
- Fader ramps288 one-minute clips from 64 electronic tracks, each with a tempo ramp of 2, 4 or 8 % over 2, 4 or 8 s
- Microphone128 electronic tracks played through the measured acoustics of eight venues from PaRIRset's test split and crowd noise, then a laptop microphone
Use the free tools
Spectralite's tools are free to use for anything, including paid gigs. To build the model into a commercial product, get in touch.