Infinite Gangnam Style
From Music Hack Day
Contents |
[edit] Infinite Gangnam Style
Infinite Gangnam Style is a web app that creates a never ending and ever changing version of the song Gangnam Style by Psy. The hack is online at: http://static.echonest.com/InfiniteGangnamStyle/
[edit] Creators
Created by Paul Lamere http://twitter.com/plamere http://MusicMachinery.com
[edit] About the Hack
I just can't get enough of Gangnam Style. Nor can you. The song should never stop! And now with Infinite Gangnam Style, there's no need for it to stop.
Infinite Gangnam Style dynamically assembles a new version of Gangnam Style beat by beat by looking for intra-song beat similarities and using these similarities to plot new and unique pathways through the song. The dynamically created version is always different, always changing and never ending.
Of course, Gangnam Style wouldn't be Gangnam Style without the video, so we dynamically generate the video too.
[edit] Technology used
Infinite Gangnam Style creates an endless version of Gangnam Style by performing a detailed audio analysis of the track (using The Echo Nest analyzer). It breaks the track down into individual beats. It then uses the detailed segment data (including timbre, pitch, loudness and position within the bar) to create a neighborhood of the most similar sounding beats for each beat in the song. The song is played, beat by beat, but when any beat that has a neighborhood of similar beats is about to be played, there's a chance that the song will jump to one of the similar sounding beats instead. We rotate through the neighbors for each beat, so that the song always sounds different.
Fun fact: No video player is used in this app, the 'video' is built be swapping dynamically through about 2000 images. Browsers are cool.
Specific technologies used:
- The Echo Nest analysis API - http://developer.echonest.com/docs/v4/
- Web Audio API - for programmatic playback - https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
- Raphael.js for drawing - http://raphaeljs.com/
And of course we are using Psy's Gangnam Style audio and video. I hope he doesn't mind. If he (or his publishers) mind, they can contact me at paul@echonest.com to negotiate my surrender.
[edit] Media
Video here: http://www.youtube.com/watch?v=jXJBjqG0qGU&feature=youtube_gdata_player
Full size screen shot:
[edit] Source Code and Links
The app is live at: http://static.echonest.com/InfiniteGangnamStyle/