Beat Saber is a popular rhythm game for virtual reality headsets. It’s similar to other rhythm games such as Guitar Hero and Rock Band where you have to hit notes to the beat of the music.
I’ve been working on Infinite Beat Saber, a mod that adds a new gameplay mode to Beat Saber. The idea behind the mod is to generate never-ending and ever changing variations of existing Beat Saber levels. Play your favorite songs for as long as you want — they never end!
The mod is both inspired by The Infinite Jukebox and leverages some of its source code.
How it works
The big picture is that, given any song, The Infinite Jukebox algorithm figures out which sections of the song are so similar that it can jump the song from one section to the other without the listener noticing a seam in the music. The algorithm uses this analysis to produce a list of song sections. For example:
Play 0:00 to 0:05
Play 0:12 to 0:20
Play 0:45 to 0:46
Play 0:23 to 0:30
etc.
The idea is that if you play the sections of the song in that order, you’ll hear a smooth seamless song. You can ask the algorithm to produce as many sections as you like and, in this way, you get a song of infinite length. If you want to hear this algorithm in action, listen to a song on The Eternal Jukebox (my mod borrows code from this project).
The mod slices up a Beat Saber level’s audio and beatmap according to this list of song sections. Beatmap is a term used by Beat Saber to refer to how its levels are represented. A beatmap tells the game at what timestamp the player should see each note block, obstacle, lighting effect, and all of the other parts of the level that approach the player at the pace of the music.
Here’s a diagram which describes these things in slightly more detail (click here for an enhanced diagram that links to the referenced components1):
How to play it
To play Infinite Beat Saber you first need a copy of Beat Saber and a virtual reality headset. Then you need to download the Infinite Beat Saber mod.
The most convenient way to get Infinite Beat Saber will be through BeatMods. BeatMods can be thought of as being an app store but solely for Beat Saber mods (and all of the mods are free). I submitted Infinite Beat Saber to BeatMods the other day and I’m waiting to hear back from their manual review process.
In the meantime, Infinite Beat Saber can be installed manually. Here are links to the relevant files you’ll need. You need different files based on which version of Beat Saber you have:
Once the mod is installed, select one of the 42 currently supported levels (all but 3 of Beat Saber’s built-in songs are supported) and press the infinity button!
See here for more detailed instructions installation instructions.
Credits
This mod is inspired by The Infinite Jukebox (2012) and leverages its algorithm.
The original implementation of The Infinite Jukebox is by Paul Lamere.
The code for the Infinite Jukebox algorithm that’s used by my mod is derived from The Eternal Jukebox by UnderMybrella, a rework of the original project.
I published my extraction of the Infinite Jukebox algorithm to its own repo to make it easier for anyone that wants to make use of the algorithm in their own projects.
Infinite Beat Saber’s implementation of the algorithm can be found in its InfiniteJukeboxAlgorithm/ directory.
If you have any questions or are interested in anything you read here, feel free to leave a comment or reach out to me directly!