This is a first – finishing a hack before the night before the presentations and even having time to write some documentation and do a blog post! Despite this, this hack is by far most involved, impractical and ‘hackiest’ hack I’ve ever done.
DJ Spotify is made up of two parts. The first is the ability to play two consecutive Spotify streams with full control over playback speed, effectively allowing you to beat-match and, theoretically, do a whole DJ with streamed content. In summary, this is achieved by running the second instance of Spotify in a virtual machine via Parallels. The two streams are then sent into individual tracks in Ableton Live, each with a Max For Live patch which reads the Spotify stream into internal buffers which can then be sped up or slowed down at will.
The second part is a Spotify App which retrieves key and BPM information for tracks from EchoNest. Adding fields to Spotify lists isn’t supported by the API, so the workaround used was to request the display of some fields we’re not interested in (I used the Popularity and Share columns), and overwrite their titles and content.
There is so much more to the hack that would take far too long to write down (plus I bet it wouldn’t make very interesting reading), so I’ve made this diagram instead:
I’ll post the code up onto GitHub whenever I get a chance although, to be honest, this system is so convoluted I would be seriously impressed if someone bothers to reproduce it…
Fingers crossed everything works in the demo!
UPDATE 1: Hack worked very well on stage! I’ve got a bit of work to do on my beat-matching, but at least all the technology worked. Video will be posted here once it’s online.
UPDATE 2: My hack was nominated the winner by the other hackers, which is a great honour, so I got to present my hack again at the MIDEM Innovation award ceremony. Here’s a video of that happening (starts at 31:32):
UPDATE 3: The code for both the audio routing system of DJ Spotify and the Spotify Key and BPM display app is now up on GitHub. The DJ Spotify system is very convoluted and I’ll be surprised if anyone bothers to reproduce it, but in case any one is interested in seeing exactly how it was done…:
Comments
Pingback: Midem Hack Day 2014: The hacks revealed!
Pingback: 18 Hacks From Music Tech's Best Created At Midem Music Hack Day 2014 | Planet Six String
Pingback: 2014 Midem Music Conference Hosts Annual Hack Day - Latest Technology News - Tech Feeds
Pingback: DJ Spotify: oto zwycięzca Midem Hack Day | Sieć muzyki
Pingback: Reactify » The future of DJing software? Streaming comes to town…
Pingback: Music Hack Day MIDEM 2014 - DJ Spotify | MUSIC:...
Pingback: MIDEM Music Hack Day 2014 – seevl hipster | Alexandre Passant
Pingback: MIDEM Music Hack Day 2014 - seevl hipster | It's all about music discovery!
Pingback: Let’s go to France to write some code | Music Machinery
Pingback: The Rise of the Streaming DJ - SoundCtrl
Pingback: Music Hack Day MIDEM 2014 - DJ Spotify | Radiop...
Pingback: Music Hack Beats Pacemaker to Spotify as DJ Platform | Evolver.fm
Pingback: DJ Spotify Beat Pacemaker To Claim First Spotify DJ Platform | Planet 6 String
Pingback: Feedly | Pearltrees