AI Cue Points: How Automatic Detection Works (and What Goes Wrong)
Updated · by the MixGoat team · Tool: Cues & Loops
Short answer
An automatic cue detector is a model trained on tracks with DJ-placed cues; it scans the audio, scores each position on how much it looks like a cue moment, and returns the positions above a confidence threshold. It does not know that a point is the drop or the breakdown, only that DJs tend to cue there. MixGoat's detector runs on your computer from a bundled model, uploads nothing, and emits positions with confidence only; the Intro, Outro, Drop, Break, Groove and Section labels you see come from a separate loop pass that reads energy changes. It fails where the structure is faint: ambient intros, tracks with no clear drop, edits with two drops, live recordings and any track whose beat grid is already wrong. Use AI cues as a first pass, verify them in the editor, and keep your own cue habits.
Step by step
- 1
Know what the detector returns
MixGoat's cue model outputs one thing per candidate: a position in milliseconds and a confidence between 0 and 1. There is one class of object, "cue", with no label attached. A list that says intro, build, drop, break, outro is not what cue detection produces.
- 2
Read Sensitivity as a confidence threshold
The Sensitivity slider runs from 0.50 to 0.99 and is the cutoff below which candidates are dropped. Generous is anything under 0.78, Balanced 0.78 to 0.89, Strict 0.90 and above; the default is 0.90. Lower it when a track comes back with too few cues, raise it when the list is padded with weak guesses. Min distance (default 16 bars) then thins survivors inside one phrase.
- 3
Understand what the loop pass adds
With "Detect loops" on, a separate analysis finds structural boundaries and tests 4, 8, 16 or 32-bar windows for loops that tile cleanly. This pass is the one that carries kinds: a jump in energy across a boundary is a Drop, a fall is a Break, a steady beat is a Groove, the ends are Intro and Outro, the rest Section or Loop. A cue that coincides with a loop borrows its name; a cue on its own stays unnamed.
- 4
Let the beat grid do the last few milliseconds
"Snap cues to beatgrid" moves each cue to the nearest beat of the track's grid, never by more than half a beat. That cap is deliberate: if the closest beat is further away than that, either the detector or the grid is wrong, and silently sliding the cue a whole beat would hide the problem. A cue still off-beat after snapping is a sign to check the grid in your DJ app.
- 5
Verify in the editor before you Save
MixGoat does not print the confidence on each pad, but the layout tells you: which cues get pads is decided by confidence (the top N under your cap), so pads hold the surest cues and anything demoted to a memory cue was a weaker call. Play from each pad, drag markers that sit early or late, double-click the waveform to add a cue, remove ones you would never use. Detection and editing are free; Save is GOAT.
What the model actually listens for
A cue detector is a pattern matcher, not a music theorist. Training data is tracks paired with the cues DJs put on them, and the model learns which audio shapes those cues sit on: the first kick after silence, the bar where a new layer enters, the silence before a drop, the point where drums fall away. At inference it slides over the track, scores each position, keeps the peaks above the threshold, and stops. Confidence is the model's own estimate of "a DJ would cue here", only as calibrated as the data allowed.
That is why it finds the drop in a peak-time techno track with high confidence and gets vague on a beatless ambient piece. One case is coded in rather than learned: if the loop pass finds a loop in the first 30 seconds (or first 20 percent) of a track and no cue was detected there, MixGoat adds an intro cue at confidence 0.99 so every track has a usable start point.
Where automatic cues go wrong
The failures cluster in a few recognisable places; these are the tracks to check first after a batch run:
- Ambient or beatless intros: no kick, no shape, so the first cue may land at the first real beat rather than where you would start a long blend.
- Tracks with no clear drop: deep house, dub and minimal often change by subtraction. The detector may pick a texture change you would never cue, or nothing beyond the intro.
- DJ edits with two drops: the cap and Min distance can keep the first drop and lose the second, or spend cues on the identical second half.
- A wrong beat grid upstream: snapping is capped at half a beat, so a grid that is off by more leaves cues off the downbeat. Fix the grid, then re-run.
- Live recordings and mixes: crowd noise, tempo drift and long transitions confuse the grid and the model alike. Cue these by hand.
How this compares with Mixed In Key and Rekordbox phrase analysis
Mixed In Key writes up to 8 cue points per track into the file's tags as part of its key and energy analysis, and Serato and Rekordbox read them on load. It is convenient and well established, and its positions are Mixed In Key's own call, which you take or leave: no threshold to adjust, no editor before the write. MixGoat exposes the threshold, the cap and the distance, shows the result in a waveform editor first, and writes to all four apps' libraries as well as to tags.
Rekordbox's phrase analysis is a different thing. It labels sections of a track (intro, up, down, chorus, outro) and paints them on the waveform, but it does not create cue points from them; it is a map, not a set of markers. It is closer to MixGoat's loop pass, which names regions by energy, than to the cue detector. If you want section names, phrase analysis or MixGoat loops give them; if you want pads set, a cue detector does that.
Should you trust AI cues in a set?
As a first pass, yes; as a finished job, no. A detector at Strict sensitivity on a well-produced dance track will put most pads where you would have put them, across a whole library in the time it takes you to cue a crate. What it cannot know is how you mix: whether you come in on the breakdown or the drop, whether pad 1 is your intro or your emergency exit, which colour means what to your hands. Keep those habits, run the detector, then spend your time on the tracks in the failure list above rather than the ones the model got right.
Try automatic cue detection
Free on-device detection with a waveform editor. Saving to your DJ app on GOAT.
Try automatic cue detectionFrequently asked questions
- Does AI cue detection know where the drop is?
- Not as a label. The drop usually scores high, but the cue is not tagged. The Drop, Break, Groove, Intro, Outro and Section names in MixGoat come from the loop pass, which reads energy change across a boundary.
- Is my music uploaded for analysis?
- No. MixGoat's detector is a bundled model that runs on your own CPU; the audio never leaves the machine.
- Why does Strict give some tracks only one or two cues?
- Strict keeps only candidates at 0.90 confidence or higher, and a track with soft structure may have few of those. Lower Sensitivity for that track, or add cues by double-clicking the waveform.
- Why is a cue slightly off the beat?
- Snapping never moves a cue more than half a beat. If the nearest grid beat was further than that, the cue stayed put, which almost always means the beat grid itself is wrong. Correct the grid in your DJ app and re-run.