Music information retrieval · Audio ML · DJ workflow · 2026

Audio ML that turns a DJ library into playable Traktor playlists

Traktor ML organises a local Techno and Tech House collection by how the tracks actually sound. It extracts learned audio representations and musical metadata, clusters related tracks, orders them for smoother transitions and exports versioned M3U playlists that can be loaded directly into Traktor.

239tracks in the validated V4 run
1024-DMERT audio embeddings
8first-level clusters
14exported M3U playlists

From audio folder to DJ playlists

Audio representation

MERT provides learned embeddings for both the full mix and percussion-focused audio, while Demucs separates stems so groove and timbral structure can be analysed from more than one view of each track.

Musical metadata

Essentia extracts BPM, beat confidence and musical key so learned similarity can be combined with information that matters directly during a DJ transition.

Clustering

PCA reduces the embedding space before HDBSCAN groups related tracks. UMAP provides a two-dimensional view for inspecting the result rather than treating clustering as a black box.

Transition-aware ordering

Tracks inside each group are ordered using embedding distance, BPM distance and Camelot key compatibility, then exported as UTF-8 M3U playlists with paths ready for Traktor.

Pipeline

0 · Ingest
Scan the collection, validate paths and create stable track identifiers.
1 · Features
Extract Demucs stems, MERT embeddings and Essentia BPM/key features.
2 · Cluster
Apply PCA, HDBSCAN and UMAP to organise the collection by acoustic similarity.
3 · Name
Assign readable names to the resulting groups for practical browsing.
4 · Order
Sequence tracks using acoustic similarity, tempo and harmonic compatibility.
5 · Export
Write versioned M3U playlists and review or re-export them from the Streamlit interface.

Validated V4 run

The current run starts from 243 files and produces a canonical set of 239 tracks after feature extraction. Both MERT representations have shape 239 × 1024, the collection spans 86 to 167 BPM, and the latest export places all 239 processed tracks into 14 playlists.

GPU extraction
239 tracks in 1 h 03 m for the full feature-extraction run.
Median tempo
123.9 BPM across the validated collection.
Coverage
239 of 239 processed tracks appear in the latest playlist export.
Transition score
0.797 in the validation tracker for the latest V4 workflow.

Interactive review

The Streamlit and Plotly interface shows the UMAP projection, supports cluster filtering, exposes BPM and key metadata and lets playlist versions be reviewed and re-exported after parameter changes. The clustering is a decision aid for DJ workflow, not a replacement for listening and musical judgement.

Traktor ML Streamlit clustering interface
The interface turns the clustering artifacts into an inspectable workflow for listening, filtering and playlist iteration.
MERTDemucsEssentiaHDBSCANUMAPStreamlitPCAPlotlySlurmApptainer