The Echo Nest remix 1.0 is released!
Version 1.0 of the Echo Nest remix has been released. Echo Nest Remix is an open source SDK for Python that lets you write programs that manipulate music. For example, here's a python function that will take all the beats of a song, and reverse their order:
def reverse(inputFilename, outputFilename):
audioFile = audio.LocalAudioFile(inputFilename)
chunks = audioFile.analysis.beats
chunks.reverse()
reversedAudio = audio.getpieces(audioFile, chunks)
reversedAudio.encode(outputFilename)
When you apply this to a song by The Beatles you get something that sounds like this:
[audio http://static.echonest.com/rev3.mp3]
which is surprisingly recognizable, musical - and yet different from the original.
Quite a few web apps have been written that use remix. One of my favorites is DonkDJ, which will 'put a donk' on any song. Here's an example: Hung Up by Madonna (with a Donk on it): [audio http://www.donkdj.com/hungup-DONK-EDIT.mp3]
This is my jam lets you create mini-mixes to share with people.
And where would the web be without the ability to add more cowbell to any song.
There's lots of good documentation already for remix. Adam Lindsay has created a most excellent overview and tutorial for remix. There's API documentation and there's documentation for the underlying Echo Nest web services that perform the audio analysis. And of course, the source is available too.
So, if you are looking for that fun summer coding project, or if you need an excuse to learn Python, or perhaps you are a budding computational remixologist download remix, grab an API key from the Echo Nest and start writing some remix code.
Here's one more example of the fun stuff you can do with remix. Guess the song, and guess the manipulation:
[audio http://static.echonest.com/rimshak.mp3]