Add Cue Points to Your Whole DJ Library in Bulk (Thousands of Tracks)

Updated · by the MixGoat team · Tool: Cues & Loops

Short answer

No DJ app adds cue points to a whole library on its own, so bulk cueing means running a cue detector across the files and saving the result into the app in one pass. By hand a careful DJ needs about a minute per track, and 5,000 tracks at a minute each is more than 80 hours, two working weeks of nothing else. MixGoat's Cues & Loops tool takes a folder or playlist, detects cues on your computer one track at a time (free on every plan), keeps any cues a track already has, lets you review, then one Save writes everything into Rekordbox, Serato, Traktor or VirtualDJ (GOAT). At this scale use Strict sensitivity, a 16-bar minimum distance and a hot-cue cap so each track gets a short list you can trust, quit the DJ app before saving, and spot-check a random sample afterwards. Mixed In Key (up to 8 cues per track written into file tags) and Lexicon (rule-based cues) are the honest alternatives.

Step by step

  1. 1

    Back up, quit the DJ app, pick the batch

    A library-wide write deserves a library-wide backup first: Rekordbox File → Library → Backup Library, the _Serato_ folder, Traktor's collection.nml, VirtualDJ's database.xml. Then open MixGoat → Prepare → Cues & Loops and choose Files…, Folder… or Playlist; for a whole library pick the folder that holds your music. Quit Rekordbox, Traktor and VirtualDJ before you save; MixGoat refuses to write into a running database. Serato may stay open, but it rewrites file tags on exit, so quitting it too is safer.

  2. 2

    Tune the detector for scale, not for one track

    With thousands of tracks you want fewer, surer cues. Set Sensitivity to Strict (0.90 or higher), Max hot cues to the number you actually reach for, and Min distance to 16 bars so two cues never land in one phrase. Leave "Snap cues to beatgrid" on. If you only want cues, switch "Detect loops" off ("Off = cues only"): loops are extra work per track and share Rekordbox's pad bank with cues.

  3. 3

    Decide about file tags and copies before you start

    "Write cues & loops to" has one toggle per app; tick only the apps you use. "Embed cue tags in the audio files" writes Serato Markers2 tags into each file, which is where Serato keeps cues and something Rekordbox and VirtualDJ read too. If you also turn on "Keep original files untouched", every track gets a "Track [cues].wav" copy and the library points at the copy: on 5,000 tracks that doubles the disk those files take. Decide now, not after the run.

  4. 4

    Generate and leave it running

    Click "Generate all". Detection runs on your CPU with a bundled model, uploads nothing, and processes one track at a time. Each track takes seconds, which multiplied by thousands makes a whole library an hours-long job; how many hours depends on your processor. MixGoat shows a time estimate before a large selection starts, results appear track by track, and Stop keeps what is done. Plug in, disable sleep, run it overnight.

  5. 5

    Review a sample in the editor, then Save

    Nobody inspects 5,000 waveforms. Open a couple of dozen tracks, favouring the awkward ones (ambient intros, edits with two drops, live recordings), drag any cue that sits wrong, remove any you would not use. Then click Save: Rekordbox gets a master.db write (rekordbox.xml with a .bak as fallback), Traktor collection.nml and VirtualDJ database.xml with .bak copies, Serato its file tags. Save is the GOAT step.

  6. 6

    Verify 20 random tracks in the DJ app

    Load 20 tracks chosen at random from the batch, not the ones you reviewed. Check that pad 1 sits on a downbeat, the cue count matches your cap, and the colours read red, orange, yellow, green left to right. If a group looks wrong, load just those back into MixGoat, adjust, and Save again: a save replaces that track's cues with the list you see, so a corrected list is the undo, and an empty list clears the track.

What "bulk" really means in each DJ tool

Rekordbox can place a memory cue on the first beat during analysis, and that is the whole of its automatic cueing; hot cues are always by hand. Serato has no automatic cue feature at all, which is why Serato users lean on tools that write cues into the file tags Serato reads on load. Traktor sets the beat-grid marker on analysis and nothing structural. VirtualDJ's POI editor works one track at a time.

Mixed In Key is the established batch option: alongside key and energy, its analysis writes up to 8 cue points per track into the audio file's tags, so Serato and Rekordbox pick them up. It is a real bulk workflow, with the trade-off that the cue logic is Mixed In Key's and you get few knobs to shape it. Lexicon goes the other way: you write rules (a cue at the first beat, one 32 bars in, one before the end) and it applies them across the library, then syncs to your DJ app. Rule cues are perfectly consistent and completely deaf; they land where the arithmetic says, whether or not the music changes there.

MixGoat sits between the two: a detector listens to the audio, settings you control shape the list, a waveform editor lets you fix any track before anything is written, and one Save fans out to all four apps. Detection is free; Save is GOAT.

Settings that matter at 5,000 tracks and not at 50

On a handful of tracks you can be generous and prune. On a library the list is the product, because you will not edit most of it:

  • Sensitivity is a confidence threshold. Strict keeps only positions the model is sure about: shorter lists, fewer surprises. Generous is for a single track you will prune by hand.
  • Max hot cues: cues past the cap become memory cues in Rekordbox, with no limit. A low cap plus Strict keeps the pads and the memory-cue strip readable on a CDJ.
  • Min distance 16 bars is one phrase in most dance music; it stops three pads landing in one busy section.
  • Keep original files untouched doubles disk use when tags are embedded, and does nothing if you only write to DJ databases.

Undo, re-runs and cues you placed yourself

MixGoat treats the list in the editor as the truth for each track: Save replaces that track's cues in every selected app with that list. That is the undo, because a corrected list saved again overwrites the earlier result, and saving zero cues clears the track. It is also why the editor reads a track's existing cues first, from file tags and each DJ app's library, and keeps them through Generate; a fresh cue within two seconds of one you already had is dropped in favour of yours. On very large batches that read happens lazily as you open tracks, one more reason the backup in step one is not optional.

Cue your whole library with MixGoat

Free on-device detection for any number of tracks. One Save into Rekordbox, Serato, Traktor and VirtualDJ on GOAT.

Cue your whole library with MixGoat

Frequently asked questions

How long does cueing a whole library take?
Seconds per track on one CPU core at a time, so thousands of tracks means hours; the exact figure depends on your processor. MixGoat shows an estimate before a large run and you can Stop at any point.
Is bulk cue detection free?
Detection and review in MixGoat are free on every plan with no track limit. Writing the cues into Rekordbox, Serato, Traktor, VirtualDJ or the audio files is the GOAT step.
Will a batch run wipe the cues I set by hand?
Existing cues from file tags and DJ app libraries are loaded into the editor and kept; only cues you delete in MixGoat disappear. Back up the DJ database anyway before a library-wide save.
Should I embed tags in the files or write to the database?
Serato needs the tags because that is where its cues live. For Rekordbox, Traktor and VirtualDJ the database write is enough, and skipping the tags avoids the [cues] copies and their disk cost.