DigDeeper · experiments›all projects

Rekordbox bridge — the folder is the library

A test rig for the Rekordbox integration, run entirely in the browser. The question it answers: how few times does a DJ have to do anything for us to import their collection and keep it in sync. Answer: once. One XML export names the folders and the crates; after that the music folder alone carries the audio, the tags and — through file size and modified date — everything needed to spot what changed. No agent to install, and no second export.

Nothing leaves this page. No upload, no server call, no analytics — the folder, the tags and the audio are read, measured and thrown away in the tab. The only thing stored is the folder handle plus a size/date fingerprint per file, in this browser's IndexedDB. That storage is what makes the rescan in step 1 a real sync test instead of a mock-up.

1The XMLonce, and never again

Export it once: in Rekordbox, File → Export Collection in xml format. This is the only manual step in the whole flow, and it is a one-off — not something to repeat whenever the library changes. It buys two things: the exact folders your music lives in, which is how step 2 knows what to ask for, and the crates and ratings, which no folder on disk can tell us.

Drop rekordbox.xml here — or click to choose
Crates in Rekordbox what the folders on disk cannot tell you

2The folderthe sync source, from here on

The paths from step 1 appear below — drag that folder in, and from then on this is the only source. The page keeps the handle, fingerprints every file by size and modified date, and Rescan reports exactly what a sync run would touch. No second export, ever.

Drag your music folder here from Finder or Explorer
no path to type, no dialog to navigate

Skipped step 1? Then pick the folder yourself — the dialog opens in your Music folder. Folders add up rather than replace, so a library split over an internal drive and an SSD just needs each one dropped in turn.

Folders on disk often the DJ's own ordering, before Rekordbox ever sees it

3The tagsis folder-only enough?

Without the XML, everything known about a track before analysing it comes out of the file's own tags — ID3 in MP3 and AIFF, Vorbis comments in FLAC, atoms in M4A. This coverage is the number that decides the design: it is all the catalogue match has to work with, and it is what says how many files need analysing at all.

4The transcodewhat an upload weighs

The analyser eats 16 kHz mono. So the browser decodes the file, resamples it (OfflineAudioContext) and encodes Opus (WebCodecs) — which is what would actually go over the wire. Measured per track: decode time, encode time, bytes out.

5What a real run costs

Extrapolated from the measurements above. The share already in the catalogue is the biggest lever — those tracks are never uploaded, so the metadata match has to run before any transcoding.

—run the benchmark

Caveats, so the numbers are read right

Released as /rekordbox-bridge/ in digdeeper-experiments. No network calls. Clear site data to make it forget the folder.