Simple video remixes using The Echo Nest API

Filed under api, echonest, music, and programming.

Here’s a couple of remix videos I did earlier in the year using The Echo Nest API.

I’ve been meaning to post these for a while, but finally decided to get off my ass and put them up since the folks at Echo Nest were kind enough to send me a T-shirt :

(source video one)
(source video two)

(source video one)
(source video two)

It’s pretty straightforward to create these.

  1. Create an account over at The Echo Nest and grab an API key.
  2. Download a couple of videos off of Youtube (or elsewhere)
  3. Grab the vafromb.py example script that comes bundled with the Echo Nest developer sources.
  4. Add a couple of lines near the top of the script (before the from echonest imports) with your API key :
    from pyechonest import config
    config.ECHO_NEST_API_KEY="<YOUR_API_KEY_HERE>"
    
  5. Run the script on your input files :
    > python vafromb.py <inputfilenameA> <inputfilenameB> <outputfilename> <Mix> [env]
    

The Mix parameter is a number between 0 and 1 that determines the relative mix of the resynthesized song and the original input A. i.e. a mix value of 0.9 yields an output that is mostly the resynthesized version.

A Mix of zero will contain only the original song, whereas a Mix of 1 will contain %100 resynthesized sound.

The ‘env’ flag applies the volume envelopes of the segments of A to those from B.

This flag is optional, and is kind of hard to explain if you don’t know what an envelope is – try it out and you’ll figure it out pretty quickly.

The hardest part is finding two videos that will mix well together – I’ve found that using one with a fairly sparse, strong rhythm track for inputfilenameA works quite well, with a more melodic track in inputfilenameB.

These examples barely scrape the surface of what you can do with The Echo Nest API – I highly recommend playing around with it yourself if you’re interested in music and computers.


If you enjoyed this post, please follow us on twitter or subscribe to our feed!