For when your favorite song just isn’t long enough. This web app lets you search a song on Spotify and will then generate a never-ending and ever changing version of the song. It does what Infinite Gangnam Style did but for any song.
We use the Spotify API to break the song into beats. We play the song beat by beat, but at every beat there’s a chance that we will jump to a different part of song that happens to sound very similar to the current beat. For beat similarity we look at pitch, timbre, loudness, duration and the position of the beat within a bar. There’s a nifty visualization that shows all the possible transitions that can occur at any beat.
The backend is written in Kotlin and hosted on a Google Compute server. The source code is available here.
Yes - here are some keys:
Each block represents a beat in the song. The colors are related to the timbre of the music for that beat.
(For detailed tuning instructions see ‘Tuning the Infinite Jukebox’ on Music Machinery.) This is a mostly experimental feature.
You can tweet it with the tags #EternalJukebox
…or you could submit it to the InfiniteJukebox subreddit
…or you might want to share it in the Eternal Jukebox Discord.
You can either copy the URL of the page you’re on, or you can click the ‘Share’ button to obtain a nicer link to use.
The logo was contributed by Jasper Allijn
The original site was made by Paul Lamere at Music Hack Day Boston on November 11, 2012 (More info at Music Machinery ), and used to be hosted over here. This site is a rework of the original project, and is now hosted by UnderMybrella.
There’s a couple of reasons this could be:
The most likely being that the audio file we found for your song doesn’t match up perfectly with the version that Spotify has, which means you’ll experience jumps at points that there shouldn’t be throughout a song.
The solution to this is to find a version of it that matches up to the version on Spotify as close as possible, or to upload your own track, if you can’t find one online.
If you do have a song that seems to be synchronised perfectly, but still seems to jump randomly, feel free to file an issue here
This is still a fairly early build, so there may be some bugs in the server. If you do find an issue, please file an issue here.