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:
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):
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:
#1 by zazi on May 12, 2009 - 9:44 am
it will be interesting to see that application in a easy to handle GUI front end that can be used by end users. Another usecase can be derived from “This is my jam” and be transferred into ones private music collection management tool. This enables automatic generated mixes (okay some applications like MAGIX MP3 Maker support such feature already).
Generally, there is still the question of the copyright of the analysed information, which will be used here. I think that it will be good to store that information somewhere to avoid duplicated calculations. Of course, this is a general problem to build unique audiofingerprints that are able to map compressed signals from low quality mp3 copies to that one of the original.
#2 by Ron Weiss on May 12, 2009 - 4:24 pm
Meapsoft (www.meapsoft.org) is a similar piece of software for cutting up and rearranging music with a graphical interface that has been around for a few years already. It is not an API like remix so it is a little bit more involved to extend, but it comes with a bunch of prebuilt “composers” similar to the one Paul describes in this post.
See http://www.meapsoft.org/showcase.php for some examples.
#3 by Garg Unzola on May 12, 2009 - 11:14 am
More cowbell is goood..
#4 by Andy Baio on May 12, 2009 - 11:52 am
That backwards “Kashmir” and “Revolution” are *awesome*. I can’t believe how listenable they are. Time for another standalone service?