DJ API's secret sauce
Last week at the Echo Nest 4 year anniversary party we had two renown DJs keeping the music flowing. DJ Rupture was the featured act - but opening the night was the Echo Nest's own DJ API (a.k.a Ben Lacker) who put together a 30 minute set using the Echo Nest remix.
I was really quite astounded at the quality of the tracks Ben put together (and all of them apparently done on the afternoon before the gig). I asked Ben to explain how he created the tracks. Here's what he said:
1. 'One Thing' - featuring Michael Jackson's (dj api's rip)
[audio http://static.echonest.com/blog/dj_api_rip.mp3]
I found a half-dozen a cappella Michael Jackson songs as well as instrumental and a cappella recordings of Amerie's "One Thing" on YouTube. To get Michael Jackson to sing "One Thing", I stitched all his a cappella tracks together into a single track, then ran afromb: for each segment in the a cappella version of "One Thing", I found the segment in the MJ a cappella medley that was closest in pitch, timbre, and loudness. The result sounded pretty convincing, but was heavy on the "uh"s and breath sounds. Using the pitch-shifting methods in modify.py, I shifted an a cappella version of "Ben" to be in the same key as "One Thing", then ran afromb again. I edited together part of this result and part of the first result, then synced them up with the instrumental version of "One Thing."
2. One Thing (dj api's gamelan version)
[audio http://static.echonest.com/blog/dj_api_gamelan.mp3]
I used afromb again here, this time resynthesizing the instrumental version of "One Thing" from the segments of a recording of a Balinese Gamelan Orchestra. I synced this with the a cappella version of "One Thing" and added some kick drums for a little extra punch
3. Billie Jean (dj api screwdown)
[audio http://static.echonest.com/blog/BJ_dj_api_screwdown.mp3]
First I ran summary on an instrumental version of Beyoncé's "Single Ladies (another YouTube find) to produce a version consisting only of the "ands" (every second eighth note). I then used modify.shiftRate to slow down an a cappella version of "Billie Jean" until its tempo matched that of the summarized "Single Ladies". I synced the two, and repeated some of the final sections of "Single Ladies" to follow the form of "Billie Jean
It was a great set and everyone had a good time listening to the morphed tunes. At the next party hopefully we'll get to see Ben do some live remix performance programming during the set (which of course won't be a set, it will really be a python list).