Saturday, May 22, 2010

Python Time-Stretcher

The Swinger is a bit of python code that takes any song and makes it swing. It does this be taking each beat and time-stretching the first half of each beat while time-shrinking the second half. It has quite a magical effect.

Money for Nothing (permutated by the Swinger in Python) by TeeJay

Connected to what looks to be an amazing project called Echo Nest Remix:

The Echo Nest Remix API is the Internet Synthesizer that lets you make things with music and video.

We've done the following: rearranged the syllables of a vocal line, walkenized and cowbellized hundreds of thousands of songs in a week, mixed up the hits of a drum beat and synced it to another loop, beat matched two songs, split apart DJ mixes by their individual tracks, made new kinds of video mashups, corrected sloppy drumming, synced a video to a song, transitioned between two covers of the same song, made a cat play piano, put a donk on it.

We're making this available as an open source SDK for Python (other languages forthcoming!) that can be easily installed for Mac OS X, Windows and Linux.

According to this tutorial, Echo Nest Remix is like Ableton Live via REST:

Remix is a sophisticated tool to allow you to quickly, expressively, and intuitively chop up existing audio content and create new content based on the old. It allows you to reach inside the music, and let the music’s own musical qualities be your — or your computer’s — guide in finding something new in the old. By using Remix’s knowledge of a given song’s structure, you can render the familiar strange, or the strange slightly more familiar-sounding. You can create countless parameterized variations of a given song — or one of near-limitless length — that respect or desecrate the original, or land on any of countless steps in between.