The m3u is dead. Long live the m3u!

It seems like everyone is a DJ nowadays.

As usual, I blame digitization. When you had to lug 30 lbs of vinyl up a creaky warehouse stairwell, there was a pretty good chance you were going to play some fire. Serato was alright, because at least you still had the turntablism. With the advent of CDJs and Rekordbox, it was all over.

Don’t get me wrong, democratization of the means of production of music is a Good Thing. Teach the masses to groove, and all that. What gets me down is the lack of interoperability between all these different DJ platforms. How do I get the playlists I create on Traktor into Spotify? How can I share my Rekordbox playlists with Subsonic? Rekord Buddy, a valiant attempt at playlist unification, was nice while it lasted, but is now an orphaned project that only lives on via the Wayback Machine. (You can, however, still download the OSX binaries)

My goal with this project was to be able to go from Traktor, my preferred DJ performance software, to Subsonic or Navidrome, which serves up all my music on the go, Spotify style. As the old adage goes, if you can’t find what you want, you can at least build it yourself. I was able to locate a few resources online that explained the rough logic of parsing Traktor libraries, and wrote a script to do the heavy lifting. It’s as simple as:


python playlist-export.py --upload

Now, ubiquitous access to playlists of all my live DJ sets is just a python script away. As a future expansion, it would be nice to add support for Rekordbox so I can easily prep my Traktor playlists for use on CDJs.