The Infinite Eternal Jukebox FAQ

For when your favorite song just isn’t long enough


What is this?

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.


How does it work?

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.


Are there any ways to control the song?

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.

What do the coloured blocks represent?

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?

(For detailed tuning instructions see ‘Tuning the Infinite Jukebox’ on Music Machinery.) 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.

I have an awesome infinite track that I'd like everyone to hear. What do I do?

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


Who made this?

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 it was hosted by UnderMybrella and daviirodrig, but this instance was improved by floriegl and is hosted by CrispKat


Help! My audio seems to be jumping randomly!

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


Help! Something broke!

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.



Originally built at Music Hack Day @ MIT by Paul Lamere This instance is improved by floriegl and hosted by CrispKat and powered by Spotify.