Table of Contents
- What are your main Traktor mappings?
- How to download my Traktor mappings
- What documentation comes with your mappings?
- Can I see a video demo of your mappings?
- Can I test your mappings for free?
- Is the DDJ-1000SRT also mappable to Traktor?
- Does (random DDJ controller) works with your mapping? Are the jogs good?
How large is your collection? How broad is your collection?
I have a large collection with thousands of files. It is also quite broad, featuring hundreds of playlists, and dozens of genres / sub-genres / decades combinations.
My numbers are:
- 7000x individual tracks
- 300x individual playlists
- 50x sub-genres
- 10x major-genres
- 5x decades
- 2x separate DJs
To manage this complexity I've build my own set of personal tags that I fully trust. As such, the first action on new files is to tag them into my structure. This ignores any previous tags made by someone else.
See also Why I manage music using OS-folders only.
Why I manage music using OS-folders only
Above, I've explained the size and complexity of my collection.
This is nothing new; I know many DJs with the same "problem". The difference is on the how; In my case I manage the collection only in OS-folders, instead of DJ-playlists.
Main reasons are:
- #1: Multiple Windows: File explorer opens instantaneously with Win+E, and allows any number of windows, monitors and tabs.
- #2: Tree Tagging: More crucially, all windows have the whole tree visible. This is essential to quickly tag my files by just moving them to the correct correct folder. Similarly, the structure grows just by creating new sub-folders as needed.
- #3: Simpler Folders: OS-Folders contain either files, sub-folders, or both. This 2-step organization is simpler is than the iTunes 3-step model of "folders -> playlists -> files" (later copied by almost all DJ softwares).
- #4: Local Searches: By far my most common task is to check if I already have a particular track, and where is it tagged. File explorer allows local searches on a folder and its sub-folders only. This enables me to quickly find things by just typing a few letters of the filename. AFAIK only Serato has this feature (called "include subcrates")
- #5: Tags Cleanup: Before tagging the file, I rename the filenames to correct its artist / title. MP3tag helps a lot to clean up the formatting, using my own scripts to automatically capitalize the names as “ARTIST1 ft. ARTIST2 - Capitalized Title - Remix”, and to update the internal mp3 tags.
- #6: Software Independence: Using OS-folders you are independent of any possible DJ software and itunes. It also trivial to sync between laptops and make perfect backups to my NAS. It is also trivial to load a whole genres to USB sticks to listen in cars.
How to manage your collection using operating systems folders and without DJ playlists (ie, using only Finder, Windows Explorer, etc)
Above I've described Why I manage music using OS-folders only. In this post I will describe how I manged to fully automate my workflow between DJ softwares.
- #0: File operations: As explained above I continuously search files, change the filenames and move the files around left and right.
- #1: Traktor Repair: When I first open Traktor, it automatically repairs its own database. For this I just run a mass-relocate on my whole music root folder, which refinds all moved and renames files in a single go.
- #2: Update collection: The second step is just to import the whole music root folder into Traktor. As this skips previous files, in practice it only imports the New files. The last step is to delete the remaining missing files (that are really deleted - otherwise they would been found on step #1)
- #3: Duplicate Cues: For the rare cases that a file is in multiple sub-genres, I just copy them physically in different folders. Then I run a python script to automatically duplicate the CUEs for these files. This tool is similar to the traktor Librarian.
- #4: Dj Converter: I use the DJ Data Converter to generate the rekordbox.xml file without the 26ms shift problem.
- #5: Rekordbox Import: On rekordox first I delete all missing files, then import the whole collection "as-is", and then update the collection with the XML file that came from the (repaired) Traktor collection. These steps are fully automatic and it ensures the Rekordbox collection matches the Traktor collection.
- #6: Rekordbox Search: I only use rekordbox for video gigs. There I use the explorer node to see my files, and search for files in the whole collection. For the rare case I need to search inside a "playlist", I use a real File Explorer window in parallel when needed (because rekordbox still lacks a search box in OS-folders)
- #7: CDJ export: I only really need playlists for CDJs. There are scripts to mass-convert all folders to DJ playlists. Then I do the usual rekordbox step to prepare USBs pens.
- Windows version is http://samsoft.org.uk/iTunes/ImportFolderStructure.vbs;
- Mac version is https://dougscripts.com/itunes/scripts/ss.php?sp=droptoaddnmake;
- A Serato-specific version is in https://code.google.com/archive/p/serato-itch-sync/
See also the DJCU workflow from ATGR.
Why is Traktor my software of choice
Traktor has unique features - big and small - that I depend on.
Other softwares have nice unique features too, but miss these ones that I depend on.
- a) Automatic database repair (mass relocate)
- b) OS Search (no playlists)
- c) Advanced MIDI mapping
- d) Hotcues move the temporary cue as well
- e) Stronger Sync than others
See also which features I miss in Traktor.
Why is Traktor my software of choice: a) Database repair (mass relocate)
Traktor is above to find RENAMED files fully automatically without losing CUE points, beat grid or re-analysis.
I RENAME and MOVE files very regularly at the OS-folders level, using Windows Explorer/macOS finder.
When Traktor starts, it does a "consistency check" to confirm if all files are still there. (demo: 0:24 of this video). This finds all missing files in a single go (demo: 0:50 of this video)
Then, the mass-relocate process fixes everything in a single go as well; you just select the root folder that contains your files "somewhere". In the extreme worst case this would be your whole hard drive. (demo: 5:36 of this video).
The relocate process is reasonably straightforward for MOVED files. However it is much much harder for RENAMED files.
Traktor is the only software that achives that because it fingerprints everything in a private field called "AudioId")
When the mass-relocate process ends, everything is magically found again. Crucially all metadata is kept: CUE points, beat grid, analysed BPM, stripe, etc.
Together with the OS-search feature described below, this enables me to use folders as "virtual playlists".
- Comparison to Rekordbox: Renamed files need to be relocated FILE by FILE.
Moved files can be done FOLDER by FOLDER.
If this manual process is skipped, the files are seen as brand new, losing all meta-data.
An external tool helps the moved files case. Example of Pioneer forum request
- Comparison to VDJ: Everything need to be relocated FILE by FILE.
- Comparison to Serato: To test.
Why is Traktor my software of choice: b) OS-search (no playlists)
Traktor allows searching inside any OS folders. I don't have DJ playlists inside Traktor; instead, my OS-folders are my "virtual playlists".
I have a very large collection with dozens of genres, sub-genres and decades. For that I've created a structure where each decade is a separate folder, inside a parent genre/sub-genre folders.
When I'm playing a specific genre I can search only that decade (=OS folder). If I want something else I can always search the whole collection at any time.
(See this blog post for more detail on these methods)
- Comparison to Rekordbox: Rekordbox displays OS folders, but you can't search inside them. Example of Pioneer forum request
- Comparison to Serato: Serato has a nicer way to display OS folders, but you can't search inside them
- Comparison to VDJ: VDJ has really good OS-searches, better than traktor, by having a "recurse" option to see all sub-folder files in a flat view
Why is Traktor my software of choice: c) Advanced MIDI mapping
Traktor supports complex MIDI mapping with 8x variables, 2x conditionals and any number of actions per MIDI input
My DDJ-1000 mapping has FX chains of the Jogwheel. For a demo, see at 6:30 of this video: https://www.youtube.com/watch?v=h9tQZEHr8hk&t=392s
My AKAI AMX mapping has 10 layers built using shifts and states to cram A LOT more functionality than the existing buttons.
This is only possible if midi mapping has variables and multiple actions per physical input. \
- Comparison to Rekordbox: No variables at all, no multiple actions. They only allow you to assign a single command to a single button.
- Comparison to Serato: No variables at all, no multiple actions. They only allow you to assign a single command to a single button.
- Comparison to VDJ: VDJ is even better than traktor, has it has a full scripting language built-in (VDJscript).
It features infinite variables, conditions and states; Traktor only has 8 variables, 2 conditions and 8 states.
VDJ also features extremely nice mapping editor, pad editor, and custom button editor, all with dropdowns and chained together.
See also "Why I moved to BOME midi mapping".
Why is Traktor my software of choice: d) Hotcues move the temporary cue as well
I use the hotcues as internal "bookmarks". In Traktor, pressing a hotcue moves the temporary cue as well.
This is very useful for previewing an old song that you dont remember anymore. When you are done, you just move it to the last point using the big round button.
- Comparison to Rekordbox: No option to move the temporary cue when pressing a hotcue. This causes massive confusion to me every single time. This would be trivial to fix using advanced MIDI mapping. This was requested in their forum
- Comparison to Serato: untested
- Comparison to VDJ: untested, but not a problem for sure (trivial to change using advanced MIDI mapping)
Why is Traktor my software of choice: e) Stronger Sync than others
Traktor features a very strong master clock that was built for the remix decks. As such its sync is in general stronger than the other softwares I tested. Using Beatsync the phrasing is always kept for any action I might do to the track: Beatjump, Hot cues, Temporary Cue, Pitch bend, Tempo change, Scratch, etc.
- Comparison to Serato: see this comparison video. Even there I still found myself having the "gold" sync instead of the desired "blue" sync
- Comparison to Rekordbox: It has the best sync outside Traktor
- Comparison to VDJ: untested
Which features I miss in Traktor
- #1: Include subcrates just like serato
- #2: Elastic beatgrids: This is crucial as I play very old music and many music styles. tool
- #3: Pioneer DDJ: Plug-and-Play to Pioneer gear / DDJ controllers, because this is the most popular equipment today
- #4: Pad modes: I have multiple pad modes in my mappings, but would love to see them on screen, and have an associated pad editor just like Rekordbox and VirtualDJ
- #5: Turntable FX: Turntable start&stop on the play/pause button
- #6: Video support
- #7: VDJscript, with a lot more than 8x variables and 2x conditions
- #8: Smart playlists and related tracks
In general I fully agree with this Digital DJ Tips article. Generic comments:
- #1: “Please embrace hardware partners again…”
- #2: “Please speed up software development!”
- #3: “Please, no more reinventing the wheel :)”
But in the end Traktor has has unique features that I depend on.
See also the most popular DJ softwares census.
BOME mappings migration
Traktor has advanced MIDI mapping (link), which is important to extend its longevitity.
However every year Controllers get more complex, so mapping ranges today between hard to impossible (link).
Some other anedotic evidence on this are the preferences freeze, the turntable play/pause looper, the DDJ-1000SRT missing jog screens, and the HC-4500 mapping to get track details.
- a) Impossible mapping features
- b) Possible, but with major limits
- c) BOME limits
- d) Future of Traktor mappings
Why I moved to BOME midi mapping: Impossible features
- #1: 14-bit out messages: Trakor supports receiving high resolution midi messages. I need to send them as well on my DDJ-1000 mapping
- #2: Sequence of Events: For PadFX, I first need to change the FX, and then need to turn it on. This is not something Traktor support; both actions are tried simultaneously resulting in something else. More info: page 88 of the Rudi Elephant mapping.
- #3: Timers: Something simple as end-of-track blinking require timers to schedule actions for later. Same story for vinyl break on the play/pause button, as implemented by Traktor Mapping Service
- #4: Any event as a Conditional: Some events can be inputs to conditionals, like "is in active loop". However many events are missing, for example "which deck is master." To implement this, please see page 87 of the Rudi Elephant mapping.
Why I moved to BOME midi mapping: Traktor Limits
Also, I've also hit the limits of Traktor mappings multiple times. Below are the features that are possible in Traktor but only by significantly increasing the mapping complexity.
- a) more modifiers: I use a lot more than 8 modifiers. I use a lot more than 3 bits per modifier state. To go around this I add a lot of complexity to my mappings. This in turn freezes your preferences window - please see below.
- b) preferences window freeze: To add more variables, you need to add extra mapping pages. Having more than 6 pages freeze your preferences window even if they are completely empty.
- c) more conditionals: I use a lot more than 2 conditions in my mappings. To go around this I squeezed multipe states into each modifier. Again, this added a lot of complexity to my mappings.
- d) global modifiers: I miss global modifiers, to link the state in multiple pages. More info: page 87 of the Rudi Elephant mapping.
Some Limitations of BOME mappings
In importance order:
- A) Arrays: forum request. See also Bug#3 from the FAQ file.
- B) Cascaded devices: forum request
- C) More variables: this is a lot more than Traktor, but still not enough as I'm emulating arrays
How I see the future of Traktor mappings
A major Traktor strength is the MIDI mappings system. Very flexible and powerful.
Traktor maps are by far the most popular in https://maps.djtechtools.com
Large mappings are really complex to build - but once this is done other users immediately benefit by just installing them.
For example in my DDJ-1000 mapping I had to use BOME midi translator as a middle man:
In my view the mappings are a unique sucess story of Traktor. This could continue to give great results with just some quality-of-life improvements.
Why is DDJ-1000 my hardware of choice
Previously I explained I why use Traktor. So why do I use it with a controller made for Rekordbox, instead of the S4Mk3??
Before we discuss this, please note that some years ago DJs could use any Software with any Hardware combination. This was a fully supported (and encouraged!) model by the vendors, which used this model to make real money from real customers.
Having said this, the DDJ-1000 has major features that I personally value significantly over the S4Mk3:
A) BIG jogs wheels: This is so important that it gets a dedicated blog post
B) More pad modes. All my most useful functions are a maximum of 2 clicks away - and without using any shifts. Main Pad modes are a) Hotcue, b) Roll/padFX, c) MacroFX, d) JogFX. Pressing twice the same pad mode cycles the top 2 sub-pages of that pad mode. This is way the Reloop Elite mixer works. I’ve got even more stuff on the secondary pad modes, accessible with a shift+mode.
C) Two USB ports. This is crucial for seamless hand-overs between DJs; and for safety of connecting a backup laptop ready at any time.
D) JogFX combos on the jogs. Please see them in my demo videos (eg 6:32 of https://www.youtube.com/watch?v=h9tQZEHr8hk&t=392s ). This is turnkey in my mapping, i’m not familiar if they have it on the S4mk3 (it was present for sure on the S4MK1 DJTT mappings)
E) BeatFx. This is in the correct place of the mixer (lower right corner = right hand of the DJ), with a FX selector knob to select the effect by name
F) Connectivity. Thr DDJ-1000 has more inputs and outputs, microphones etc. In particular, the mixer has a full FX suite for any external inputs (colorFX + beatFX)
Note: the S4mk3 is a fantastic controller - I have recommended it to several people before. In particular the loop/beatjump encoders implementation is the gold standard for that.
The overall integration is better, of course, which is a plus if you prefer plug-and-play vs customization.
But in the end its really the big jogwheels that is the crucial deal breaker; This was completely abandoned by NI in 2014 with the release of the S8, and was only picked-up in 2018 with the S4MK3 (although, in my opinion, still not the same as the DDJ-1000).
DDJ-1000 comparison to DDJ-SZ and AKAI AMX
Main differences are:\
- Jogs: CDJ big Jogwheels
- Screens: Jog screens
- Size: More portable than SZ, but more cramped as well
- BeatFX: BeatFX in the lower right corner to the mixer
- Size: Very spacious. A joy to use!
- Jogs: Extra-smooth big Jogwheels
- Filter: Pioneer soundcolor FXs in hardware, including the Pioneer filter with a lot of Resonance
- Ultra portable: The AMX replaces 4x devices: Z1 Mixer + X1 controller + Twister Fighter + Audio2. Its so small I carry it everywhere I go.
- DVS: The AMX is the cheapest and smallest way to unlock DVS
- Mapping: My mapping unlocks all TP3 functions
See also this DDJ-SZ comparison
Why I like BIG jogwheels
Spoiler: its not scratching!
I use jogs all the time in a controller - full list below. As I have big hands, I love them to be as BIG as possible.
There are the usages sorted by frequency:
- #1: Tempo: Adjusting tempo drift for older tracks (because of no elastic beatgrid)
- #2: Cueing: / fast preview to the exact spot where the track will start
- #3: JogFX chains: I do effects on the jog - see 6:32 of https://www.youtube.com/watch?v=h9tQZEHr8hk&t=392s
- #4: Beagrids: by far the quickest way to adjust beatgrids on the fly
- #5: Scratch: Very occasional live scratching / tricks (see also this post)
What I dont use on jogs:
- Moving jogs: these are cool, but not a deal-breaker for me
- Haptic feedback: this is basically a gimmick for me
But can I still scratch using MIDI? How much is the latency of your maps?
Of course that If you are a 100% scratch DJ, then you should look for a native HID solution.
But for the extreme vast majority of DJs I know, this solution is more than enough.
Some relevant points:
- Scratching is only the 5th criteria for my jogwheels
- The latest DDJ-1000 mapping helps a lot. You can now can see the jog needle and your hand simultaneously.
- Pioneer has sold products with this solution for many years (example)
What are your main Traktor mappings?
- DDJ-1000 with jog screens: https://maps.djtechtools.com/mappings/9279
- DDJ-SZ / DDJ-SX2 / DDJ-SRT: https://maps.djtechtools.com/mappings/9222
- AKAI AMX: https://maps.djtechtools.com/mappings/9323
How to download my Traktor mappings:
TO DOWNLOAD: you can ONLY download my mappings from the DJ tech tools site.\ To do this you MUST register and then verify your email there.\
Note: sometimes that site is under maintenance. Please try later in this case.
What are the features of your DDJ-1000 Traktor mapping?
- Download Link: https://maps.djtechtools.com/mappings/9279
- Documentation: https://github.com/pestrela/music_scripts/blob/master/traktor/ddj_1000_traktor_mapping/
- Video demo: https://youtu.be/h9tQZEHr8hk
- Only mapping with Jog Screens
- 7x Jogwheel FX chains
- 5x MixerFX
- 11x MacroFX
- 21x padFX (“instant gratification”)
- 3x tone play modes (“keyboard mode”)
- 8x Rolls
- Dedicated preview player
- Loops manual adjust (via jogs)
- Beatjump and Loops pages
- End of track warning blinks and other CDJ emulation
- All functions reachable without shifts
- This is the only mapping for the DDJ-1000 supporting Jog Screens. It works on both Traktor 3 and 2. It requires the 3rd-party BOME Pro MIDI translator. Free trial versions are available to test everything.
- It is also the most complete by far. It supports MixerFX, MacroFX, JogFX chains, padFX, Keyboard mode, Rolls, and a Preview Player. Latest features are CDJ-emulation, Loops adjust and Beatjump shortcuts.
What are the features of your DDJ-SX2 / DDJ-SZ / DDJ-SRT Traktor mapping?
- Download Link: https://maps.djtechtools.com/mappings/9222
- Documentation: https://www.facebook.com/pedro.vale.estrela/media_set?set=a.2263179753734551
- Video demo: http://youtu.be/H_TE2mtuM6Q
- 7x Jogwheel FX chains
- 5x TP3 MixerFX
- 11x MacroFX
- 21x padFX (“instant gratification”)
- 4x Rolls modes
- Dedicated preview player
- Reverse Flux
- Vinyl Stop
- Beatjump controls
- All functions reachable without shifts
- This a 2019 mapping for the Pioneer DDJ family of controllers. It works on both Traktor 3 and 2. The mapping was tested extensively in both the DDJ-SX2 and DDJ-SZ. Other DDJs are supported as well (please see below).
- It is also the most complete by far. It supports TP3 MixerFX, MacroFX, JogFX chains, padFX, Keyboard mode, Rolls, Slip reverse, and a Preview Player. Be sure to see the documentation for all the features.
What are the features of your AKAI AMX Traktor mapping?
- Download Link: https://maps.djtechtools.com/mappings/9323
- Documentation: https://www.facebook.com/pedro.vale.estrela/media_set?set=a.2271291466256713
- Video demo: https://www.youtube.com/watch?v=TzAgENM55DE
- DVS TP3
- 10x shift layers
- Full Transport controls
- Full Tempo controls
- 6x Cues
- 4x Decks
- Preview player \
- 5x MixerFX
- 7x MacroFX
- 1x Resonant Filter
- 10x PadFX
- 4x BeatMasher
- 3x UserFX
- Slip Reverse
- 3x Sampler
- Key Adjust
- Filter Roll
- This is a 2019 mapping for the Akai AMX. This is by far the cheapest and smallest way to unlock both DVS and almost all Traktor Pro 3 functions. In a single device you have the equivalent of a Z1+X1+TwisterFighter, at least.
- It is also the most complete by far. It supports 10x layers, 4 decks, full transport and tempo control, TP3 MixerFX, MacroFX, Cues, Loops, beatjump, Rolls, Slip reverse, Sampler, Key adjust, and a Preview Player.
What documentation comes with your mappings?
- Quick reference (pictures only): example
- User manual: example
- Installation manual: example
- FAQ: example
Can I see a video demo of your mappings?
Yes, please see the below Youtube videos. I have both long 30m videos where I cover every single function step-by-step, plus short "update" 5m video with the latest stuff only.
All videos are timestamp tagged in Minute:second format, for you to find explanations of all specific.
DDJ-1000/800 playlist: https://www.youtube.com/playlist?list=PLIlvTGzSxI0XHlFyINdT6P42noqvkPISD
DDJ-SX2/SZ/SRT playlist: https://www.youtube.com/playlist?list=PLIlvTGzSxI0V3SUnYFYq4hpeu0o_XyP2l
AKAI AMX playlist: https://www.youtube.com/playlist?list=PLIlvTGzSxI0Vi7aguzxbmOJdVQCW6CohR
- AMX v1.0 - main video - http://youtu.be/TzAgENM55DE
Can I test your mappings for FREE?
Yes. All my mappings work fine with the demo versions of both Traktor and BOME. So if you have these controllers you can just try them in no time.
If you are considering buying equipment then I recommend that you test the mapping yourself in a shop showroom. I do this all the time before I buy anything (just mention this to the shop personnel).
Finally, all my mappings are a free gift to the community, to enable DJs to use their preferred Software with their preferred. If you want further appreciation, PayPal donations are welcome (firstname.lastname@example.org)
Is the DDJ-1000SRT also mappable to Traktor?
- Jogs screens: Jog Screens are NOT supported in MIDI. This is a business decision of the Serato company. If this affects you, please voice your opinion on this feature request thread:
- Pioneer Effects: Mixer runs in external mode. This means that you have all pioneer effects for Traktor music.
- This is very different from the regular DDJ-1000, which runs in internal mode and only has Pionner beatFX in the master channel for Traktor sources.
- Scratching: Please put your jog weight to “heavy”. This will significantly improve scratching and jogFX. Also please avoid VINYL OFF mode. The TSI disables jog touch in this case, but the jog loses resolution compared to VINYL ON mode;
Does (random DDJ controller) works with your mapping? Are the jogs good?
Pioneer has dozens of controllers. I own 3x of them, so ONLY there the mappings are 100% tight:
Once in a while I test controllers in a shop myself; ONLY in this case I describe the results in the first page of the mapping manual.
The DDJ-1000SRT is a special case, which I cover in detail here
Regarding the Jogs: this is exactly the same story, plus the all the comments about MIDI jogs
DJ collection converters
What is the 26ms shift issue when converting cues/loops between softwares?
- We have found that 6% of the files have a shift of 26 milliseconds when going from Traktor to Rekordbox. The other 94% of the files will be fine.
- This shift is very noticeable and breaks beatgrids/loops. See below for a graphical example of this issue.
- Root issue is different interpretations of the tricky MP3 LAME tag (and their derivations LACV/LAVF). Issues are:
- Zero LAME CRC ("case c"):
- Traktor doesn't accept the LAME tag, but interprets the whole MPEG frame as "music", producing 26ms of garbage;
- Rekordbox the same, but skips the whole MPEG frame instead.
- LAVC/LAVF reduced tags ("case b"):
- Traktor produces 26ms of garbage because it doesnt understand this tag;
- Rekordbox accepts the tag as a control frame
- Please see this blog post to know who implemented this work
- 26ms research work: https://github.com/digital-dj-tools/dj-data-converter/issues/3
- Examples of corner cases: https://github.com/pestrela/music_scripts/tree/master/traktor/26ms_offsets/examples_tagged
- Analysis code: https://mybinder.org/v2/gh/pestrela/music_scripts/master
Which DJ converters avoid the 26ms shift issue?
Historically, there was no way to convert your collection on Windows. The only converters available were for MacOS. This has now changed recently.
All softwares take different approaches to solve the 26ms shift problem.
This is the current situation as far as I tested it myself:
- DJ Data Converter: This is a command line tool for Windows, WSL, and macOS. This is where the full research of the 26ms shift problem was done, and where it was first implemented. This is another python converter.
- Rekord Cloud: This is a web application, so it supports all OSes. It also has many other useful features other than DJ conversion. The authors have read the research, implemented it for the 26ms case, and then extended it for virtualDJ with a 50ms value. As it is a web app, it created added an offline optional app just to scan shift mp3s.
- DJCU: This is a macOS-only application. Recently it got the hability to convert windows files, but still from macOS only. They have a manual tool to correct the shifts after conversion (REKU). More recently they correct shifts automatically using the encoder strings. This is something that I researched before and replaced with LAME/LAVC/LAVF tags instead.
- Rekordbuddy: This is also a macOS-only application. A Windows version is on the works for many years. This app corrects some shift cases correctly automaticlaly, but it misses others as well (when I tested it on a macOS VM).
- MIXXX: A new upcoming feature is reading Rekordbox-prepared USB sticks nativelly. This is of course affected by the 26ms problem. Like rekordcloud, the developers have read the research and implemented it for their case (which depends on the several mp3 libraries they use).
- Choones: To be tested. Choones is an upcoming web application that does cloud-based conversion among many other features. At time of writing this is not publicly available. I've contated the team by email, and they told me they are aware of the 26ms shift issue.
Free DJ Software Tools
This section groups the DJ software tools written by me, all freely available.
- DJ software tools overview
- Elastic beatgrids emulation
- Swapping Traktor settings
- Tracklist and CUE tools
- Youtube, Google an Discogs shortcuts
- CMDR TSI editor
- Programming libraries
What software tools did you built for Traktor?
See also the CMDR editor changes.
- Clones cues between physically duplicated files.
- Is also able to merge traktor NML files.
- adds a beatmarker every 4 beats. Part of the elastic beatgrid emulation
- Tools to generate CUE files and timestamped tracklists
- Tools to search a whole set in youtube tabs and to scrape lyrics
- My mp3tag actions scripts
- Adaptor scripts to run DJCU and Rekordbuddy in Windows
- 26ms offsets
- Research about the 26ms mp3 cue shifts in DJ conversion apps. More info
- BOME tools:
- Easy wrapper around the BOME analyser that documents variables, and a new script to find unused variables
What features did you add to the CMDR TSI editor?
The CMDR editor did not get new features for 2.5 years. In Jan 2020 I've revived this project Download: https://github.com/pestrela/cmdr/releases
- TP3 and S4-MK3 support
- Grid quick filter
- many new Shortcuts (channel change, modifier rotation
- FX list and encoder mode fixes; same sorting as controller manager
How to emulate elastic beatgrids in Traktor
Traktor misses elastic beatgrids. This is crucial for live drummers and old electronic music.
It is impossible to do perfect beatjumps because you cannot compensate with jogs.
Same story for perfect delay-based Effects.
This was also the #1 request from the Digital DJ Tips interview
Below a recipe to approximate Elastic beatgrids in Traktor using Rekordbox conversion, and putting a beatmarker every 4 beats using the accurate dynamic BPM value:
- Select the specific tracks that really need elastic beatgrids: guide
- Analyse ONLY these tracks in dynamic mode in Rekordbox: guide
- Export your collection.xml: guide
- Manually remove the non-dynamic tracks from the XML
- Use rekordbox_add_beatmarkers.py to add a beatmarker every 4 beats. This will be very accurate because it uses the dynamic BPM.
- Convert your collection without the 26-ms shift issue: guide
- Patch your files into Traktor using Traktor_clone_cues.py or import it manually as normal
How to swap Traktor configurations without the slow preferences window
This script lets you swap between two traktor configurations easily.
This is useful when you sometimes use a controller as your audio device, but other times use your internal sound card. This saves you to having to open the preferences window to change the audio device, which is very slow when you have large mappings.
- save this script in your desktop with "right-click"/"save-as"
- make the script executable with 'chmod +x traktor_swap_configuration.sh '
- redefine the 'traktor_root_folder' variable to your documents traktor root
- run it once to copy the first config
First time setup:
- Open Traktor
- change the config to DDJ-1000
- close traktor
- run script
- open traktor
- change config to internal soundcard
- close traktor
To Activate configuration #1:
- run the script
- open traktor
- confirm the audio card is ddj-1000
- Close taktor
To Activate configuration #2:
- run the script
- open traktor
- confirm the audio card is Internal Soundcard
- Close taktor
How I build perfect tracklists using CUE files
I use a set of tools to generate a CUE file with the timings of my sets. Once I have this file, I can generate tracklists with timestamps like in this example: https://www.mixcloud.com/dj_estrela/mix-17-cd07-trance-jun-2019/
Steps BEFORE the set (for prepared sets):
- group the files in folders, per style (Vocal Trance, Uplifting trance, etc)
- select the tracks and their order using winamp; Once this is OK, run "cue_renumber_files.py" and "cue_make_tracklist.sh".
Steps AFTER the set (both live sets and prepared sets):
- convert the NML to a text tracklist using https://slipmat.io/playlists/
- listen the recording in winamp to spot major mistakes. Tag the locations in MMM:SS format. At the end, use "cue_convert_timestamps.sh" to convert to HH:MM:SS format
- open the huge WAV file in Adobe audition, and perform the following:
- normalize volume of all tracks
- fix any obvious mistakes if necessary (eg, track ended too early when playing live, etc)
- tag the divisions of the tracks inside the wav file
- convert the tags inside the WAV into a CUE file, using this software: http://www.stefanbion.de/cuelisttool/index_e.htm
- note: this software fails on files bigger than 2Gb (https://forums.adobe.com/thread/309254). Workaround is splittingthe file at the 3hour mark, exactly, then use an option in cue_merge_cues.py to add this offset back in the second file
- convert the tags inside the WAV into a CUE file, using this software: http://www.stefanbion.de/cuelisttool/index_e.htm
- merge the CUE file with the Tracklist file using cue_merge_cues.py
- upload the mix to http://mixcloud.com/dj_estrela
Overview of the Cue tools:
- renumbers mp3 files, in sequence. This is useful to make a sequenced playlist in your operating system folders, outside Traktor.
- from a folder, generates basic tracklist text files
- convert MMM:SS to HH:MM:SS format. Winamp uses the first format, Adobe audition uses the second
- this is the main tool. It merge back and forth any CUE file with any tracklist text file. It can read either case from separate or single files. It also cleans the artist - title fields, and generates timestamped tracklists
- matches the CUE file contents with the FILE tag. This is useful when you rename the files externally.
What Programming libraries did you author?
- this is a python3 library of utilities
What shortcuts you added for Youtube, Google and Discogs?
This folder contains Windows tweaks and other generic tools.
My autohotkey file has all kinds of useful glabal shortcuts that work for any text of any program
- CTRL+F08: Search in Discogs
- CTRL+F09: Search in Explorer
- CTRL+F10: Current url to clipboard
- CTRL+F11: Search in Youtube (list)
- CTRL+F12: Search in Youtube (first hit)
- Win+backspace: toggle any window to be always on top for
More scripts in this folder:
- a youtube-dl wrapper
- a tool to search 1001tracklists, ticketswap and DJ TechTools maps.
DJ Software optimization
This section covers DJ software optimization.
- Optimization Quick fixes
- Optimization Complex case
- Audio Performance guides
- DDJ-1000 and turbo boost
- USB thin cables
- SMI hidden interrupts
- Dell XPS 15 BIOS problems
- Deep trace analysis
- Every possible optimization
- Traktor verbose log
How to optimize a laptop for DJ Software - Summary
Every year laptops have more and more Power saving tricks.
These tricks are VERY damaging for DJ software.\
For a demo of theses issues please see at 1:20 of https://www.youtube.com/watch?time_continue=85&v=ijFJZf_KSM8
Below some quick fixes to try first you have crackle / glitches / noise:
- a) Continuous crackle when playing:
- Raise the driver buffer
- b) Crackle when when moving the Jogs:
- Disable turbo boost (steps)
- c) Random crackle:
- Disable wireless
- Update the BIOS and all Drivers from your laptop manufacturer
- Disable all power saving features (Turbo boost, Speedsteep, USB selective sleep, ...)
if not enough, then please read below
How to optimize a laptop for DJ Software - Complex case
If the quick fixes above were not enough then there is no easy solution.
The way forward is complex:
- Measure: Measure the problems using [LatencyMon], [DPCLatency], [IDLT] and [SMI_reporter] to establish an objective baseline
- Performance Guides: Study performance guides that are specific to audio
- Update log: Study update logs to understand what changed when. This list can be quite big.
- Disable drivers: disable the drivers one by one measuring in between
- Downgrade drivers: as above, but downgrading components one by one while re-measuring
- Low-level Trace: Generate a trace of the whole system using Windows Performance tools
Again: measurement is crucial to control every change to the system.
How to avoid crackle / glitches / noise on Windows by disabling Intel turbo boost?
If you have an HP laptop and have crackle when move the jogs you have to disable Intel turbo boost.
There are 3 ways to disable turbo boost: a) Specific program (best way): Use the "Quick CPU" software: https://www.coderbag.com/product/quickcpu b) Set windows power to 99% CPU: guide c) BIOS config: https://support.serato.com/hc/en-us/articles/203057850-PC-Optimization-Guide-for-Windows
Macs have turbo boost, but are not affected. Anyway, the way to disable is here
Official recommendation from Pioneer: https://forums.pioneerdj.com/hc/en-us/articles/360015455971-To-those-who-have-crackling-noise-when-using-DDJ-1000-with-rekordbox-dj
List of every possible performance audio optimization
Things to try while measuring:
- USB: gauge USB cables; use usb 2.0 port;
- Windows Power options: performance profile; change "turn X off after"; "turn off device"; wireless adaptor power saving; Fast Startup;
- Windows Configs: optimize to background processes; paging file; Spectre patches; Visual Effects; SuperFetch;
- Battery: windows best performance; plugged-in vs battery; Intel DPTF (power throttling); ACPI battery control;
- Device Manager: "USB root hub" power management;
- Services: TBD
- Processes: process affinity; process lasso; DEP
- CPU: Turbo boost; SpeedStep; SpeedShift; Core parking; Frequency scaling; UnderVolting; C states;
- Sounds: Realtk HD audio; Wavs Maxxaudio; disable onboard audio; No sounds profile; audio 3d enhancements;
- Wireless: Wifi / Bluetooth;
Another list: here
List of performance guides specific to audio
- Native Instruments:
- Dell guide:
Very old guides:
Finally, Cantabile software produced a 97 page pdf guide on audio optimization: https://www.cantabilesoftware.com/glitchfree/
Dell XPS 15 9560 BIOS SMI problems
- 1.18.0 - 27 Dec 2019 (Battery Sweeling)
- 1.16.0 - 07 Aug 2019 (DPC fixes)
- 1.15.0 - 27 Jun 2019 (RST Manager)
- Not tested
- 1.14.3 - 27 May 2019 (Dock Station WD19)
- Not tested
- 1.12.1 - 23 Oct 2018 (Sleep mode resume password)
- Not affected
Dell Ticket \
- Not affected
These are the results. This issue is caused by SMI interrupts. (blog post about SMI)
How to count SMI (=hidden interrupts) in Windows
If your whole laptop stops once in a while for several seconds - including the mouse - it can be SMI issues.
SMIs are "hidden interrupts" that the BIOS can issue at any time and will lock all cores. As these are not visible to the OS, these will confuse latencyMon, but not IDLT.
These interrupts are used, for example, when you change the laptop brightness. The CPU has a special counter for these interrupts.
I've made a small tool to read this special counter in Windows: count_smi tool
Below a simple test that shows that changing the brightness in Dell XPS "costs" 4 SMIs:
How to make a deep trace of everything that runs in your laptop
TODO: document windows performance analyser
Read this if you have erratic USB cable problems
USB cables may be too thin and not deliver enough power to your controller.
Confirm your cable does NOT have these labels:
- AWG 28X2C
In general you want the "2C" label to have "24" and not "28".
full info: https://support.native-instruments.com/hc/en-us/articles/210293725-Choosing-the-Correct-USB-Cable-for-Your-NI-Hardware-Device more info2: https://goughlui.com/2014/10/01/usb-cable-resistance-why-your-phonetablet-might-be-charging-slow/
How to enable Traktor verbose log
important: this will affect performance, so use only for manual tests!
log file: traktor_root\log\traktor.log
- close traktor
- go to User:Library: Preferences:com.native-instruments.de:Traktor.plist
- add key Log.Verbosity with value 5
- default value: 2
Windows-specific tips go here.
- Why I use Windows instead of Mac
- Generic Windows tweaks and programs I use
- How to use QQTabBar with multiple tabs, folder bookmarks and program launchers
Why I use Windows instead of Mac
Apple and MacOS is in general a better choice to do audio work (both DJing and Production).
The operating system is stronger because it was built on Unix. The hardware and software are better integrated as they are built by the same company. And there is generally less bugs across the board as the hardware are standardized (ie, all macs are the same inside the same model).
Nevertheless its definitely not perfect; while I've seen more issues in Windows, I've also seen issues in Macs. In particular, as of Nov 2019 this got a lot worse with MacOS Catalina, namely as it migrated to 64-bit only drivers and the removal of itunes/music App.
So if I say the mac is still overall a better choice for Music, so why I'm using a Dell XPS 15 windows? Main reasons are:
- a) Folder Tree: I use File explorer with the full tree visible all the time. I've tried Finder several times but did not enjoyed their paradigms. Also tried to use a windows file explorer clone for mac, it was completely abandoned by the author.
- b) No flexibility: AKA the "one apple way". I've never got used to their GUI, their keyboard shortcuts,
and the keyboard itself.
In particular there is the extremely annoying decision of having to use 2 hands for the
forward delete key.
Same story for the Maximize feature. Same story for lack of USB-A ports, SD cards and dongles.
Ditto for no headphone jack in recent iphones.
In all cases the answer is "get used to it". Well, I didn't.
See also my Windows tweaks
- c) Software library: Very limited choice on software and freeware, as compared to Windows
- d) Expensive: Underpowered machines, when compared to their direct windows counterparts in the same price range
- e) Command Line: I use the command heavily to automate tasks in bash, git updates, and python programming.
See also these comments on switching from OSX to Windows from a Music company.
WSL Linux shell on Windows
I use the command heavily to automate tasks in bash, git updates, and python programming.
For years I've used a linux VM inside windows, but now I only use WSL.
- instalation guide: https://adamtheautomator.com/windows-subsystem-for-linux/
- Integration with python: https://towardsdatascience.com/setting-up-a-data-science-environment-using-windows-subsystem-for-linux-wsl-c4b390803dd
- integration with visual studio: https://devblogs.microsoft.com/commandline/an-in-depth-tutorial-on-linux-development-on-windows-with-wsl-and-visual-studio-code/
Generic Windows tweaks and programs I use
I love customization, so I have installed several tweaker apps. These are all GUIS to edit the refgistry and change / unlock / customize windows features. Below the reviews:
Plus some specific programs:
- QQTabbar: Adds tabs to File Explorer, folder bookmarks and program shortcuts. Please see below pictures.
- Link Clump: Make a rectangle around hyperlinks; open all in new tabs.
- WinDirStat: find missing disk space hogs
- Resilio sync: automatic folder synchronization
- Allway Sync: manual folder synchronization
How to use QQTabBar with multiple tabs, folder bookmarks and program launchers
QQTabbar (link to a review) is
an amazing file explorer add-on. It supports multiple tabs, folder bookmarks and program launchers.
I use this every day to open WSL linux terminals in the current folder, and to open audio files programs directly.
- How I recorded my old radio show recordings and found the IDs
- How I edited my videos showing the Traktor screen
- How I synchronize and backup my whole Traktor structure across laptops and a NAS
- How to replace the DDJ-1000 filter knobs with Silver knobs
- DJ Census over time results
How I recorded my old radio show recordings and found the IDs
I had old K7s mixtapes from around 1996 from local radio shows that I really liked. These shows have significantly shaped my electronic music tastes. Recently I've took the time to preserve these relics, and find the IDs for the tracks that I've been looking for 22 years.
The steps were:
- I've first recorded all my 15 cassettes in a single go.
- Then added the cues in adobe audition.
- Then split it by mix sessions. Sometimes it were just isolated tracks, sometimes it was a sequence of 10 tracks.
- Then I've combined these into packs of 2 hours each. The first pack is now online: https://www.mixcloud.com/Dj_Estrela_House/radio-cidade-superpista-1997-recordings/
- Them made the known tracklist and exact timestamps using a CUE file
Regrading the IDs:
- I've first extracted JUST the IDs into yet another pack.
- This was uploaded to mixcloud: https://www.mixcloud.com/Dj_Estrela_House/superpista-ids-1997-recordings-full-versions/
- its much easier to show to knowledgeable DJs in a single go
- mixcloud is able to identify some tracks for you
How I edited my videos showing the Traktor screen
On my latest demo videos I show both the controller and the traktor screen simultaneously. It looks pretty cool. To get the basic idea, see this DJ tech tools article: https://djtechtools.com/2012/06/24/how-to-make-a-great-dj-video/
- Put the smartphone as high as possible, and with the most illumination possible. Ideally, grab the microphone stand on ANOTHER desk, so that your scratching will not vibrate the smartphone.
- Record the controller image in 16:9 format
- Record the laptop screen using this free tool
- If its a spoken video, record the audio from the smartphone. If its pure DJing use from the mixer output, or internal Traktor.
Editing part 1: merge everything to a single video
- Download openshot. Read this tutorial for basics. this is another tutorial
- Change profile to a 4:3 format, 30fps (preferences / profile). This is crucial to fit both the controller and the top traktor screen
- Add the Controller video on Track 1. Click in the very first frame. Use effects / crop to crop the controller to size. Use right click / transform to center and scale it to the bottom of the screen
- Move the video to the middle of the timeline. Lock track 1 so that it no longer moves
- Add the Screen video to Track 2. Do the same steps as before to crop and scale / center the video on the top part of the screen
- Sync the two videos by finding something unique (eg press play). Zoom in a lot. Disable snap for precise alignment. Confirm alignment in the end of the video
- Render the video to a 4:3 format (1024x728, 30fps, MP4). Create a profile in your documents / .openshot / profiles folder, based on
Editing part 2: cuts, effects, transitions, etc
- get windows essentials 2012 archive link; install only windows movie maker 2012.
- To create separators: home / add / title; Then animations / wipe right / normal
- To create captions: home / add / caption; then set legtth
- to add arrows: add a caption with windings 3 font
- change project to 4:3 format
How I synchronize and backup my whole Traktor music and configuration across laptops and a NAS
I have all my Traktor files synchronized between laptops. This includes 100Gb of music and all Traktor files.
I can use any laptop at any time, one at the time, and my whole collection is there fully analyzed. As my NAS is just another client, I get automatic RAID-0 backups as well.
In a nutshell this is like having everything inside your own private google drive, without size limits.
My folder structure is:
- C:\Main - Contains all my private files
- \Traktor - Whole folder synchronized by resilio sync
- \Samples - All samples go here
- \Remix_sets - all remix sets go here
- \Root_dir - All settings, stripes, etc go here
- \Music - all my music goes here. Organization is by genres
- \Traktor - Whole folder synchronized by resilio sync
- Install resilio sync
- Point your traktor root folder to "C:\Main\Traktor\Root_dir" (Settings / File / Directories / Root_dir)
- Restart traktor
- Do the same for samples and remix sets (Settings / File / Directories / Samples | Remixe_sets)
- Move your files to "C:\Main\Traktor\Music"
- Share the whole "C:\Main\Traktor" folder in resilio sync
Warning: do a manual backup first before changing your traktor files and music collection!
See also the DJ Freshfluke’s Traktor tutorial
How to replace the DDJ-1000 filter knobs with Silver knobs.
Folder with pictures of the knobs: here
- This has the best fit overall. The knob is slightly higher than desired.
- Part list:
DDJ-SZ/ DDJ-RZ/ DDJ-RZX
- this was confirmed NOT to work
- parts list: DJM-S9 / DJM-900SRT / XDJ-RX / XDJ-RX2
- not tested
- part list: DDJ-RX
- not tested
- parts list: DJM750 MK2 / 250MK2 / 450 / S3
- this was confirmed to work by another user
DJ Census over time results
Digital DJ Tips and DJ Tech Tools collect yearly data on the most popular software and controllers. Every year I update this page with the new data points over time. Source files are here