A Beat Saber for PC mod that generates never-ending and ever changing variations of existing Beat Saber levels. Play your favorite songs for as long as you want — they never end!
This mod is both inspired by the The Infinite Jukebox and leverages some of its source code. See the Credits section for details.
- Install the Infinite Beat Saber mod using ModAssistant or a mechanism of your choosing. If you haven't installed any Beat Saber mods before, you might want to check out the PC Modding page on the Beat Saber Modding Group Wiki. (If you prefer manual installation, see the Manual Installation doc.)
- Launch Beat Saber.
- Press the "Solo" button.
- Select one of the 42 currently supported levels. Only the Standard, One Saber, and No Arrows modes are currently supported.
- Press the button with the infinity symbol on it — (1) in the screenshot.
- Play the song for as long as you like — it never ends!
Here's a screenshot highlighting the relevant UI:
If the infinity button is disabled, it means one of these things:
- The selected level isn't currently supported.
- The selected mode isn't currently supported — only the Standard, One Saber, and No Arrows modes are currently supported.
If you hover over the infinity button, it'll pop up some text describing which case it is.
All but 3 built-in levels are supported (excluding DLC). In other words, these level packs are supported:
- Original Soundtrack Volumes 1 through 5
- Extras
- Camellia Music Pack
These are the 3 unsupported levels:
- I Wanna Be A Machine by The Living Tombstone. Mapped by ConnorJC (Issue #1)
- One Hope ft. David Binney by KNOWER (Issue #2)
- Light it up by Camellia (Issue #3)
Additionally, these custom levels are supported:
- Gangnam Style by PSY. Mapped by GreatYazer
- Beat Saber by Jaroslav Beck
- Magic ft. Meredith Bull by Jaroslav Beck. Mapped by Freeek
See the How to Add Additional Levels doc.
For songs in Spotify's catalog, Spotify's audio analysis web API provides information about their structure and musical content including rhythm, pitch, and timbre. The Infinite Jukebox algorithm (see InfiniteJukeboxAlgorithm/) uses this information to figure 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 result is a never-ending list of song sections — play this section, then this section, then this section, etc.
Based on this never-ending list of song sections, Infinite Beat Saber slices up the audio and beatmap which results in a never-ending Beat Saber level.
If you're interested in understanding the code, InfiniteBeatSaberMode.cs would be a good place to start. It brings together all of the pieces so it contains the big picture. From there, you can jump into any of the pieces that interest you.
This mod is inspired by The Infinite Jukebox and leverages its algorithm.
The original implementation of The Infinite Jukebox is by Paul Lamere.
The code for the Infinite Jukebox algorithm in this repo 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.
If you want to hear about my experience working on this project, check out the Infinite Beat Saber Development Blog. Here are some highlights:
- A C# REPL From Scratch in ~100 lines: Try out ideas without relaunching your program
- Introducing Infinite Beat Saber: A mod for never-ending and ever changing Beat Saber levels
If you'd like to support my work, consider buying me a coffee on ko-fi.