TRAKTOR BRIDGE

Professional Traktor to Pioneer CDJ/XML Converter - V.1.1

by Benoit (BSM) Saint-Moulin

Table of Contents


1. About the Author

Benoit Saint-Moulin is a Belgian multi-faceted artist, DJ, producer, and founder of the electronic music micro-festival "Green Mayday". Clearly inspired by the Belgian electronic music scene, he travels through melodic and sometimes brutal musical universes while ensuring a rigorous selection of tracks.

The adventure began in the 80s with vinyls and his father's 4-track recordings. Quickly passionate about electronic music, he bought a Commodore 64 to learn music creation and started playing at local parties combining vinyl turntables and cassette player. As an active member of the Amiga demoscene, he developed his skills in digital creation, combining music and visual arts.

As part of the original Arkaos team, he contributed to democratizing VJing and the beginnings of video mapping. This pioneering work led to remarkable collaborations including creating visual effects for Jean-Michel Jarre, developing prototypes for the Nintendo Dolphin, and working with artists like Jean-Marc Lederman (Front242) and contributing to projects with Moby, Moloko, St Germain through SONY music and PIAS records.

Today, he continues to perform as DJ while pursuing his passion for bridging different musical styles and technological innovations. He believes that artists should not be stuck in a box but mix different styles to share with their audience.

Benoit Saint-Moulin


2. Introduction to Traktor Bridge

"Bridge the gap between Traktor's superior playlist management and Pioneer's CDJ ecosystem."

2.1 What is Traktor Bridge?

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.

2.2 Philosophy and Motivation

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.

2.3 Workflow Integration

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.


3. Quick Start Guide

3.1 Installation

Prerequisites

Python 3.8 or higher is required for running Traktor Bridge.

Windows Installation

  1. Install Python from python.org (check "Add Python to PATH" during installation)
  2. Open Command Prompt and install dependencies:
pip install PySide6 pygame tinytag pillow mutagen
  1. Download Traktor_bridge.py from GitHub
  2. Launch the application:
python Traktor_bridge.py

macOS Installation

  1. Install Python from python.org or via Homebrew
  2. Open Terminal and install dependencies:
pip3 install PySide6 pygame tinytag pillow mutagen
  1. Download Traktor_bridge.py from GitHub
  2. Launch the application:
python3 Traktor_bridge.py

3.2 Basic Usage

  1. Select Traktor NML File: Browse and select your collection.nml file (typically in Documents/Native Instruments/Traktor X.X.X/)
  2. Optional Music Root Folder: If your files have moved, set the root folder containing your music
  3. Choose Playlists: Select individual playlists or entire folders from the tree view
  4. Configure Export: Choose format (Database/XML/M3U), enable file copying if needed
  5. Convert: Click CONVERT and select your destination (USB drive for CDJs)

3.3 Keyboard Shortcuts

ShortcutAction
PPlay/Pause selected track (in Details window)
Ctrl+ASelect all playlists
F3Focus search box
EscapeClear selection

3.4 Tips for Beginners


4. Complete Feature Guide (Traktor Bridge V.1.1)

4.1 Export Formats

Database (.pdb) Rekordbox Database Format

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.

XML Rekordbox XML Format

Lightweight XML format compatible with various DJ software including Serato, VirtualDJ, and others. Maintains playlist structure and track metadata while being more universally compatible.

M3U Standard Playlist Format

Universal playlist format supported by most media players and DJ software. Simple text-based format ideal for basic playlist transfer without advanced metadata.

USB Direct Direct USB Transfer

Complete USB drive preparation with proper Pioneer folder structure, ready for immediate use on CDJ/XDJ systems. Includes music files, database, and artwork organization.

4.2 Metadata Preservation

Complete Track Information

Cue Point Translation

Traktor TypeRekordbox EquivalentNotes
Hot CueHot CueNumbered cues (1-8) with colors
Memory CueMemory CueNavigation markers
LoopLoopAuto-repeating sections with timing
Grid MarkerBeat GridBPM synchronization points

4.3 Smart File Management

Intelligent Path Resolution

File Integrity

4.4 Audio Preview & Timeline

Real-time Audio Playback

Visual Cue Timeline

4.5 User Interface

Modern GUI (PySide6)

Command Line Interface (CLI)

4.6 Hardware Compatibility

Pioneer CDJ Series

  • CDJ-2000
  • CDJ-2000NXS
  • CDJ-2000NXS2
  • CDJ-3000

Pioneer XDJ Series

  • XDJ-RX
  • XDJ-1000
  • XDJ-700
  • XDJ-RR

DJ Controllers

  • All Rekordbox-compatible DDJ controllers
  • Any controller supporting M3U playlists
  • Software with XML import capability

DJ Software

  • Rekordbox (all versions)
  • Serato DJ (XML import)
  • VirtualDJ (M3U/XML)
  • djay Pro (M3U playlists)

5. Technical Specifications

Core Technology

Architecture

Performance


6. Troubleshooting

Common Issues

"Python not found" Error

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

"Module not found" Errors

Cause: Required dependencies not installed

Solution: Install all dependencies with: pip install PySide6 pygame tinytag pillow mutagen

NML Parse Errors

Cause: Corrupted or unsupported NML file format

Solution: Ensure Traktor is closed when accessing NML file. Try exporting fresh collection from Traktor.

Files Not Found During Export

Cause: Music files moved since last Traktor scan

Solution: Set the Music Root Folder to your current music location for automatic file relocation

Audio Preview Not Working

Cause: Audio system conflicts or missing codecs

Solution: Restart application, check system audio settings, ensure audio files are accessible

Performance Optimization


7. Disclaimer

© 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:

  • Educational use within academic framework
  • Personal and academic reproduction
  • Citation with appropriate author reference

RESTRICTIONS:

  • Commercial use requires prior authorization
  • Modification or adaptation requires author consent
  • Complete redistribution prohibited without authorization

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!


8. Appendix

8.1 Supported Formats

Audio Formats

FormatExtensionNotes
MP3.mp3Most common format, full support
WAV.wavUncompressed audio, full support
FLAC.flacLossless compression, full support
AIFF.aiffApple format, full support
M4A.m4aApple AAC format, full support
OGG.oggOpen source format, full support

Image Formats (Artwork)

FormatExtensionNotes
JPEG.jpg, .jpegMost common, optimized compression
PNG.pngLossless, transparency support
GIF.gifBasic support, static images
WebP.webpModern format, efficient compression

8.2 Changelog

Version 1.1 (Current)

Version 1.0 (Initial Release)

8.3 Technical Conversion Schemas

NML to Rekordbox Database Schema Mapping

Understanding the technical conversion process between Traktor's NML format and Pioneer's Rekordbox database structure:

Core Database Tables

Rekordbox TablePurposeTraktor Source
djmdContentTrack metadata and file referencesNML ENTRY elements
djmdPlaylistPlaylist and folder structureNML NODE elements
djmdSongPlaylistTrack-to-playlist relationshipsNML PLAYLIST/ENTRY links
djmdCueCue points and loopsNML CUE_V2 elements
djmdBeatGridBeat grid informationNML TEMPO and grid data
djmdArtworkAlbum artwork referencesExtracted from audio files
djmdArtist/Album/Genre/Label/KeyMetadata normalizationNML metadata fields

Metadata Field Mapping

Traktor NML FieldRekordbox FieldConversion Notes
ENTRY@TITLEdjmdContent.TitleDirect mapping
ENTRY@ARTISTdjmdArtist.Name → djmdContent.ArtistIDNormalized to separate table
ALBUM@TITLEdjmdAlbum.Name → djmdContent.AlbumIDNormalized to separate table
INFO@BPMdjmdContent.BPMDirect float conversion
MUSICAL_KEY@VALUEdjmdKey.Name → djmdContent.KeyIDTranslated via AudioKeyTranslator
LOUDNESS@ANALYZED_DBdjmdContent.AutoGainGain adjustment value
INFO@PLAYTIMEdjmdContent.LengthConverted to integer seconds
LOCATION pathsdjmdContent.FolderPath + FileNameLPath reconstruction logic

Cue Point Translation Logic

Traktor CUE_V2 TypeRekordbox djmdCue TypeConversion Logic
TYPE="0" (Grid)Beat Grid GenerationFirst 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>0Type="0" with TimeEndLoop with start/end times

File Path Resolution Algorithm

The path resolution system handles relocated files through a multi-strategy approach:

  1. Direct Path Check: Attempt to use original NML path
  2. Smart Cache Lookup: Search filename in pre-built file cache from music root
  3. URI Decoding: Handle URL-encoded paths and different URI formats
  4. Platform Path Normalization: Convert between Windows/macOS/Linux path formats
  5. Extension Validation: Verify supported audio format extensions

Beat Grid Generation Process

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.

Artwork Processing Pipeline

Album artwork extraction and optimization process:

  1. Source Detection: TinyTag primary extraction with mutagen fallback
  2. Format Validation: Magic byte detection (JPEG, PNG, GIF, WebP)
  3. Size Validation: Maximum 10MB limit with compression if needed
  4. File Generation: UUID-based filename with format extension
  5. Database Entry: Path storage in djmdArtwork table with ID reference
  6. Integrity Check: PIL verification of image file validity

NML to Rekordbox Conversion 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.