Fork me on GitHub

Remix

Echo Nest Remix is the Internet Synthesizer. Make amazing things from music, automatically.
Turn any music or video into Python or JavaScript code.

Python:

Step 1: Install Remix

The easiest way to install the Python version of Remix is to use pip or easy_install.

sudo pip install remix
or:
sudo easy_install remix
You'll need a C compiler like gcc or clang too.

If those commands are meaningless to you, if you want to build from source, or if those commands don't work, don't worry! We have simple installers and install notes for every platform:

Step 2: Set up your Echo Nest API Key

To use Remix, you need to get API key from the Echo Nest Developer Center, by registering an account.

Once you've got your key, read this key install tutorial for Windows, Mac or Linux.

For the experts in the room, just set the environment variable you need:

export ECHO_NEST_API_KEY="your api key"

Step 3: Try an example

Once you've got your API key set up, try one of the examples.

A good place to start is with one.py. Turn on your terminal, go to the examples folder, and

python one/one.py music/Karl_Blau-Gnos_Levohs.mp3 AllOnTheOne.mp3
Congratulations! You've made your first remix with Remix!

Step 4: Look at the tutorials

We have a Python tutorial that you should to look at!. The tutorial folder has a number of examples with line-by-line comments explaining how Remix works. If you have any questions about how to make Remix remix, contact us.

Step 5: Make something beautiful

For inspiration on what to do with Remix, you can check the examples. or you can check out the full API documentation.

Finally, here's a bit of code to whet your appetite. Happy remixing!

"""Reverse a song by playing its beats forward starting from the end of the song"""
import echonest.remix.audio as audio

# Easy around wrapper mp3 decoding and Echo Nest analysis
audio_file = audio.LocalAudioFile("NeverGonnaTellIt.mp3")

# You can manipulate the beats in a song as a native python list
beats = audio_file.analysis.beats
beats.reverse()

# And render the list as a new audio file!
audio.getpieces(audio_file, beats).encode("NeverGonnaTellItBackwardsByBeat.mp3")