What is this?
For when your favorite song just isn't long enough.
How does it work?
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.
Are there any ways to control the song?
We use the Spotify
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
that shows all the possible transitions that can occur at any beat.
The backend is written in Kotlin
and hosted on a
server. The source code is available here.
What do the coloured blocks represent?
Yes - here are some keys:
- [Space] - Start and stop playing the song
- [Left Arrow] - Decrement the current play velocity by one
- [Right Arrow] - Increment the current play velocity by one
- [Down Arrow] - Sets the current play velocity to zero
- [Control] - freeze on the current beat
- [Shift] - bounce between the current beat and all of the similar sounding beats. These
are the branch points.
- 'H' - Bring it on home - toggles infinite mode off/on.
Each block represents a beat in the song. The colors are related
to the timbre of the music for that beat.
How can I tune the Jukebox?
I have an awesome infinite track that I'd like everyone to hear. What do I do?
Who made the cool logo?
Who made this?
Help! My audio seems to be jumping randomly!
(For detailed tuning instructions see "Tuning the Infinite Jukebox"
This is a mostly experimental feature.
- You can tune by clicking the tune button.
- Adjust the slider to the left for higher audio quality, and adjust the slider to the right for more branch points.
- You can also delete any edge by clicking on it to select it (when selected the edge turns red).
- Delete the edge by pressing the [del] key.
- The Infinite Jukebox will try hard to maximize the amount of the song that is played when in infinite mode.
- This behavior can be turned off by de-selecting the 'Loop Extension Optimization' checkbox.
- If we don't get the track right for the song you request, you can change the audio by putting in a YouTube URL into the Audio URL box.
- You can also upload an audio track for the current song using the "Browse" button
- You can throw away all of your tunings by pressing the 'reset' button.
- You can share your tuned songs, all your edits are encoded in the URL.
Help! Something broke!
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