© 2025
Traktor Bridge is a professional-grade conversion tool designed to seamlessly transfer your Native Instruments Traktor collections to Pioneer Rekordbox format. Born from personal necessity after 20+ years as a Traktor user frequently confronted with CDJ setups, this tool eliminates the need to rebuild your meticulously organized playlists in Rekordbox while preserving all your valuable metadata, cue points, and organizational structure.
As someone working in VJing and audiovisual production, I often needed to seamlessly move between different software ecosystems. For me, Traktor is far superior to Rekordbox for organizing music, but I was missing a tool to facilitate my DJ ecosystem when having to play on CDJ setups.
This tool represents a 2-year homebrew passion project developed entirely during my free time to solve a recurring problem many DJs face. The philosophy behind Traktor Bridge is to preserve years of organizational work while enabling equipment flexibility. It's designed to be both a practical utility and part of a broader toolkit for music-to-visual creative workflows.
Important Note: This project was developed as a personal tool and offered freely to the community. While thoroughly tested, errors may still exist. Always backup your original Traktor collection and music files before using Traktor Bridge. I decided to offer it free of charge to help fellow DJs facing the same challenges.
In multimedia production, we work across multiple platforms, and having reliable data migration tools means less time on technical setup and more time on creative work. Whether preparing for live performances, VJ sets, or synchronized audiovisual projects, maintaining organized music libraries across different systems is essential.
Python 3.8 or higher is required for running Traktor Bridge.
pip install PySide6 pygame tinytag pillow mutagen
Traktor_bridge.py
from GitHubpython Traktor_bridge.py
pip3 install PySide6 pygame tinytag pillow mutagen
Traktor_bridge.py
from GitHubpython3 Traktor_bridge.py
Shortcut | Action |
---|---|
P | Play/Pause selected track (in Details window) |
Ctrl+A | Select all playlists |
F3 | Focus search box |
Escape | Clear selection |
Creates a complete Pioneer-compatible SQLite database with full folder structure (PIONEER/, CONTENTS/, ARTWORK/). Perfect for direct USB transfer to CDJ players. Preserves all metadata including artwork and cue points.
Lightweight XML format compatible with various DJ software including Serato, VirtualDJ, and others. Maintains playlist structure and track metadata while being more universally compatible.
Universal playlist format supported by most media players and DJ software. Simple text-based format ideal for basic playlist transfer without advanced metadata.
Complete USB drive preparation with proper Pioneer folder structure, ready for immediate use on CDJ/XDJ systems. Includes music files, database, and artwork organization.
Traktor Type | Rekordbox Equivalent | Notes |
---|---|---|
Hot Cue | Hot Cue | Numbered cues (1-8) with colors |
Memory Cue | Memory Cue | Navigation markers |
Loop | Loop | Auto-repeating sections with timing |
Grid Marker | Beat Grid | BPM synchronization points |
Cause: Python not in system PATH or not installed properly
Solution: Reinstall Python from python.org ensuring "Add Python to PATH" is checked during installation
Cause: Required dependencies not installed
Solution: Install all dependencies with: pip install PySide6 pygame tinytag pillow mutagen
Cause: Corrupted or unsupported NML file format
Solution: Ensure Traktor is closed when accessing NML file. Try exporting fresh collection from Traktor.
Cause: Music files moved since last Traktor scan
Solution: Set the Music Root Folder to your current music location for automatic file relocation
Cause: Audio system conflicts or missing codecs
Solution: Restart application, check system audio settings, ensure audio files are accessible
© 2025 Benoit Saint-Moulin
Practical Training Master
Expertise in Real-time 3D
Environment Creation Specialist
COPYRIGHT AND USAGE CONDITIONS
This software is protected by copyright law. Created for educational and practical purposes, it is intended for learning and exploration.
AUTHORIZED USAGE:
RESTRICTIONS:
NO WARRANTY DISCLAIMER:
This software has been tested but comes with no guarantees. It was developed as a passion project during free time over 2 years. While every effort has been made to ensure reliability, users should test thoroughly with their specific setups and maintain backups of their original data.
Contact: For authorization requests or information: benoit.saint-moulin@heaj.be
Transparency Note: This documentation is the result of human work, based on personal notes and experiences. It may contain errors or inaccuracies. Artificial intelligence has been used as a tool for proofreading and correction assistance.
Have fun, experiment, and enjoy bridging your creative workflows!
Format | Extension | Notes |
---|---|---|
MP3 | .mp3 | Most common format, full support |
WAV | .wav | Uncompressed audio, full support |
FLAC | .flac | Lossless compression, full support |
AIFF | .aiff | Apple format, full support |
M4A | .m4a | Apple AAC format, full support |
OGG | .ogg | Open source format, full support |
Format | Extension | Notes |
---|---|---|
JPEG | .jpg, .jpeg | Most common, optimized compression |
PNG | .png | Lossless, transparency support |
GIF | .gif | Basic support, static images |
WebP | .webp | Modern format, efficient compression |
Understanding the technical conversion process between Traktor's NML format and Pioneer's Rekordbox database structure:
Rekordbox Table | Purpose | Traktor Source |
---|---|---|
djmdContent | Track metadata and file references | NML ENTRY elements |
djmdPlaylist | Playlist and folder structure | NML NODE elements |
djmdSongPlaylist | Track-to-playlist relationships | NML PLAYLIST/ENTRY links |
djmdCue | Cue points and loops | NML CUE_V2 elements |
djmdBeatGrid | Beat grid information | NML TEMPO and grid data |
djmdArtwork | Album artwork references | Extracted from audio files |
djmdArtist/Album/Genre/Label/Key | Metadata normalization | NML metadata fields |
Traktor NML Field | Rekordbox Field | Conversion Notes |
---|---|---|
ENTRY@TITLE | djmdContent.Title | Direct mapping |
ENTRY@ARTIST | djmdArtist.Name → djmdContent.ArtistID | Normalized to separate table |
ALBUM@TITLE | djmdAlbum.Name → djmdContent.AlbumID | Normalized to separate table |
INFO@BPM | djmdContent.BPM | Direct float conversion |
MUSICAL_KEY@VALUE | djmdKey.Name → djmdContent.KeyID | Translated via AudioKeyTranslator |
LOUDNESS@ANALYZED_DB | djmdContent.AutoGain | Gain adjustment value |
INFO@PLAYTIME | djmdContent.Length | Converted to integer seconds |
LOCATION paths | djmdContent.FolderPath + FileNameL | Path reconstruction logic |
Traktor CUE_V2 Type | Rekordbox djmdCue Type | Conversion Logic |
---|---|---|
TYPE="0" (Grid) | Beat Grid Generation | First TYPE="0" becomes beat grid anchor point |
TYPE="1" + HOTCUE="X" | Type="1" + Number="X" | Hot Cue with number preservation |
TYPE="4" (Load) | Type="0" | Memory Cue for navigation |
TYPE="5" + LEN>0 | Type="0" with TimeEnd | Loop with start/end times |
The path resolution system handles relocated files through a multi-strategy approach:
Beat grid creation from Traktor's grid anchor and BPM data:
The system identifies the first grid marker (TYPE="0") in Traktor's cue points as the beat grid anchor. Using this anchor position and the track's BPM, it calculates beat intervals and generates a complete beat grid for Rekordbox. Each beat is assigned to a measure number and beat position within that measure, following Pioneer's 4/4 time signature standard. The beat times are converted from milliseconds to seconds as required by the Rekordbox database format.
Album artwork extraction and optimization process:
The conversion from Traktor's NML format to Rekordbox follows a systematic approach:
Phase 1 - NML Parsing: The system parses the XML-based NML file using multiple encoding attempts (UTF-8, ISO-8859-1, CP1252, UTF-16) to handle different file formats. It builds a collection map indexing all tracks by their unique Traktor keys for efficient lookup.
Phase 2 - File Location: For each track, the system attempts to locate the actual audio file using the original NML path. If files have been moved, it uses a smart cache built from the music root folder to find relocated files by filename matching.
Phase 3 - Database Creation: A new Rekordbox-compatible SQLite database is created with all required tables. Track metadata is normalized into separate tables (artists, albums, genres, etc.) following Pioneer's schema.
Phase 4 - Metadata Translation: Track information is converted with appropriate format changes - BPM values are preserved, musical keys are translated between notation systems, and cue points are mapped from Traktor types to Rekordbox equivalents.
Phase 5 - Playlist Structure: The hierarchical playlist and folder structure from Traktor is recreated in Rekordbox format, maintaining the exact organization and nesting levels.
Phase 6 - File Management: If requested, audio files are copied to the destination with integrity verification, and album artwork is extracted from audio files and properly organized in the Pioneer folder structure.