Metal: Hellsinger

Metal: Hellsinger

View Stats:
How to know the BPM of a custom song
I tried to mod the game but meet a serious problem : how to find the BPM of one of my custom songs?

I tried to use many BPM detectors but none agrees with the others and they're basically all wrong. I can't get the right BPM.
Also do we HAVE to use songs that have the exact same BPM than those from the base game?
< >
Showing 1-11 of 11 comments
Brother Roga Sep 27, 2022 @ 9:33am 
Most of the time you can find the BPM of a song by googling "song name bpm" or by finding the info on official sources if possible. For example, Prison Song by System of a Down is in 100 BPM, while Ayreon's River of Time is at 98 BPM. Allegedly.

Tunebat might be a good site, though I can't say for sure as I've no plans on making any mods (Can't wait to see what people come up with though!) but keep an eye out.
Originally posted by Brother Roga:
Most of the time you can find the BPM of a song by googling "song name bpm" or by finding the info on official sources if possible. For example, Prison Song by System of a Down is in 100 BPM, while Ayreon's River of Time is at 98 BPM. Allegedly.

Tunebat might be a good site, though I can't say for sure as I've no plans on making any mods (Can't wait to see what people come up with though!) but keep an eye out.

Indeed Tunebat seems to be a relatively reliable tool to detect BPM. A big thanks for that.

Now if you know anything about that, I can see the songs from the OST of the game have 103, 110, 113, 120, 125, 127, 130 and 140 BPM.
The song I want to use has 128 BPM.

Does that meen I simply cannot use it in the game?
[T]aKer Sep 27, 2022 @ 10:29am 
You could make the track slower by 127/128 or 99.21875% to artificially make it 127 BPM.
That might make it ever-so-slightly weird to listen to.
Also make sure there's no BPM variation in your song, otherwise there might be some desync.
Originally posted by TaKer:
You could make the track slower by 127/128 or 99.21875% to artificially make it 127 BPM.
That might make it ever-so-slightly weird to listen to.
Also make sure there's no BPM variation in your song, otherwise there might be some desync.

I tried 7 tools to multiply the speed of a song but none of them allow me to be precise enough to get exactly the right BPM. I always end up with a desynch at some point. (I use songs with a constant BPM)
[T]aKer Sep 27, 2022 @ 3:29pm 
A way to "cheat" the default track resize would be to calculate exactly how long the song is supposed to last after the 127/128 conversion and stretch to the desired length.

Let's say your song is exactly 3 mins, that's 180000ms => 180000x(127/128) is 178593.75ms.
You can deal with the 0.00013% of precision lost by rounding to 178594ms, or go the hard way and make it fit perfectly.

For a prefect fit, this is what you need to do:
You have to check the common multiples between 127 and 128 that are around 180000 (178816 and 195072 in this example), choose if you want to add or remove from the song (-1s184' or +15s072' in this example), then multiply the new value by 127/128 to get the final length (177419 or 193548).


And for a more generalized process if anyone really want to go this route, to get the common multiple in order to modify your song, you can open a spreadsheet and put these formulas in (without quotes):
in A1: "=[song BPM]/[desired BPM]"
in A2: "=$A$1*(row(A2))"
in B2: "=-1*[song length in ms]+A2"
then you can stretch both A2 and B2 until you find a place where it goes positive.
A negative means you need to remove that amount; a positive means you need to add time.
Last edited by [T]aKer; Sep 27, 2022 @ 3:30pm
umbabrahattasil Sep 27, 2022 @ 6:32pm 
Originally posted by SSSIIIIIIIIIIIIINNDDWWRRYYYYYY:
Originally posted by TaKer:
You could make the track slower by 127/128 or 99.21875% to artificially make it 127 BPM.
That might make it ever-so-slightly weird to listen to.
Also make sure there's no BPM variation in your song, otherwise there might be some desync.

I tried 7 tools to multiply the speed of a song but none of them allow me to be precise enough to get exactly the right BPM. I always end up with a desynch at some point. (I use songs with a constant BPM)
Watch the tutorial vid; he shows where you go into a .json file and can change the BPM for a level (to match your track BPM). Can also change the boss music BPM as a separate thing.
[T]aKer Sep 27, 2022 @ 7:18pm 
I guess that's an even easier way to do it ^^'
Originally posted by umbabrahattasil:
Originally posted by SSSIIIIIIIIIIIIINNDDWWRRYYYYYY:

I tried 7 tools to multiply the speed of a song but none of them allow me to be precise enough to get exactly the right BPM. I always end up with a desynch at some point. (I use songs with a constant BPM)
Watch the tutorial vid; he shows where you go into a .json file and can change the BPM for a level (to match your track BPM). Can also change the boss music BPM as a separate thing.

Well I did that but it changes the BPM for the BPM MARKS appearing in the center of the screen. It doesn't change the AUDIO's BPM. Hence the desynch at some point since I couldn't change the BPM of my audio to a precise value.
Originally posted by TaKer:
A way to "cheat" the default track resize would be to calculate exactly how long the song is supposed to last after the 127/128 conversion and stretch to the desired length.

Let's say your song is exactly 3 mins, that's 180000ms => 180000x(127/128) is 178593.75ms.
You can deal with the 0.00013% of precision lost by rounding to 178594ms, or go the hard way and make it fit perfectly.

For a prefect fit, this is what you need to do:
You have to check the common multiples between 127 and 128 that are around 180000 (178816 and 195072 in this example), choose if you want to add or remove from the song (-1s184' or +15s072' in this example), then multiply the new value by 127/128 to get the final length (177419 or 193548).


And for a more generalized process if anyone really want to go this route, to get the common multiple in order to modify your song, you can open a spreadsheet and put these formulas in (without quotes):
in A1: "=[song BPM]/[desired BPM]"
in A2: "=$A$1*(row(A2))"
in B2: "=-1*[song length in ms]+A2"
then you can stretch both A2 and B2 until you find a place where it goes positive.
A negative means you need to remove that amount; a positive means you need to add time.

I'll give this a try soon!
Andy Journey Sep 28, 2022 @ 7:03am 
Really!? Nobody has suggested just editing a beat track to your liking. I recently modded in Little Busters theme song which has a bpm of 151. I got it working by editing one of the beat tracks.

And don't just change the bpm of the beat track, you need to edit the audio as well.
Last edited by Andy Journey; Sep 28, 2022 @ 8:07am
Apocagen Sep 29, 2022 @ 8:03am 
Originally posted by Andy Journey:
Really!? Nobody has suggested just editing a beat track to your liking. I recently modded in Little Busters theme song which has a bpm of 151. I got it working by editing one of the beat tracks.

And don't just change the bpm of the beat track, you need to edit the audio as well.

Yeah this is what I ended up doing when importing my buddy's Industrial album. His was 90 BPM so it wasn't too hard but there are websites to do the math for you of changing BPM to beats per second.
< >
Showing 1-11 of 11 comments
Per page: 1530 50

Date Posted: Sep 27, 2022 @ 9:15am
Posts: 11