A tool for changing the BPM of a beatsaber track without changing the position of the boxes and walls relative to the music.
This is particularly useful for making song in 6/8 and other non-standard time signatures.
In the screenshot above, I am creating a beatmap for a song in 6/8 with a BPM of 120. Since EditSaber doesn't support 6/8 songs yet, I had to edit the song in 360 BPM (3x the true BPM). This works, but causes the boxes to come at you much faster in game than they should. Bpm-saber fixes that problem by converting the BPM back to the correct tempo and the adjusting all the boxes and walls back to their correct position within the song.
This tool only creates the DIFFICULTY_LEVEL.json
files in the output folder. You will have to copy over the other files (info.json, song.ogg, cover.jpg, etc.) yourself.
Simply download and run bpm-saber.exe from the releases page.
Linux and mac builds are also available on that page.
The mac build is untested but should work.
This is the info.json inside the folder where you are editing the song.
This is the folder that you want the BPM corrected version of the song to be saved.
WARNING: The contents of this folder will be overwritten!
This is the current BPM of the track that needs to be adjusted. You can use the button to load the BPM from the input song info.json, or enter it directly.
This is the desired BPM of the output after correction. Generally it is some multiple of the input BPM.
This value can be derived from the input BPM using the built-in calculator, loaded from the output folder (assuming it contains an info.json), or entered directly.
If you know what output BPM you want, you can totally ignore this section. It is only provided for convenience. see the "output bpm" section for more details.
Apparently someone had already made a python script that does basically the same thing but without a GUI.
You can find it here https://discordapp.com/channels/441805394323439646/443569023951568906/459771392054001666