forum

Identify BPM/Offset on first mapping

posted
Total Posts
17
This is a feature request. Feature requests can be voted up by supporters.
Current Priority: +0
Topic Starter
WellTVD
Osu! could identify the BPM automatically in the first run instead of leaving empty...
Would be a great help for beginners, a time savings for those whos creating a beatmap because only need to make some adjustments (if necessary), bring even more beatmaps to game (because not everyone does an good synchronization and hes just give up) AND ensure the players to have a more stable beatmaps (even makes from the "first journey creators") ;)

And sorry for my English, i try :oops:
Shohei Ohtani
how are you gonna do that though partner
Topic Starter
WellTVD

CDFA wrote:

how are you gonna do that though partner
CDFA, I've been researching and there are several scripts in C#, Java (I don't know in what language the osu! was programmed) but certainly there must be a way to identify the MP3 file and based on sound peaks identify the Main BPM... Isn't a impossible function to a rhythm game and will benefit us a lot in every way... And if don't like the "Standard BPM Mapping" just reset and do it in your way :)
Topic Starter
WellTVD
...if the music doesn't have a steady beat, and depending on the music is much better fix the points that are out of sync than synchronizing from begins
Bara-
There are some tools which do this already, MixMeister BPM Analyzer for example

Also, please don't double post, just use the edit button
Seijiro
Chances are high it will give you the wrong BPM 90% of the time imo
Topic Starter
WellTVD

Bara- wrote:

There are some tools which do this already, MixMeister BPM Analyzer for example
I know Bara-, but for a Rhythm Game will be so great any automatic solution in-game understand...


Bara- wrote:

Also, please don't double post, just use the edit button
So sorry, its my first post. Thank u for warning ;)


MrSergio wrote:

Chances are high it will give you the wrong BPM 90% of the time imo
MrSergio, most musics has a constant beat, even if the music doesn't be the important thing is the Main BPM... getting it, the rest is much easier.
And don't need to be perfect, just helping to get the BPM approximate without pressing "T, T, T, T..." and doesnt leave from game i think will be of good size
Bara-
You must do timing yourself one day
If someone (or something) does it for you, you still haven't learnt on how to do it
I have also seen quite some BPM analysations, and they were off. Sometimes even a lot
It said Mad Machine was 250 (while it is 270)
I also shows 99% of the songs having .98 or .02 as integer, causing people to think such BPM are normal (while they clearly are not)
Multi BPM is also quite common (especially when it comes down to 3/4 timing signatures and such) and those are nigh impossible to time automatically
Topic Starter
WellTVD

Bara- wrote:

You must do timing yourself one day
I know timing
I'm saying it would be good an automatic function especially for beginners who are publishing these beatmaps with no sense (non-sync)


Bara- wrote:

If someone (or something) does it for you, you still haven't learnt on how to do it
I have also seen quite some BPM analysations, and they were off. Sometimes even a lot
It said Mad Machine was 250 (while it is 270)
I also shows 99% of the songs having .98 or .02 as integer, causing people to think such BPM are normal (while they clearly are not)
Yes, but now I ask you: in the same way that an analyzer program BPM identifies a non-integer bpm (eg 110.98 / 111.05) you think osu! couldn't implement a simple analyzer for us not having to manually set?


Bara- wrote:

Multi BPM is also quite common (especially when it comes down to 3/4 timing signatures and such) and those are nigh impossible to time automatically
...and most of the songs have a steady beat, even if the hit "escape" from the standard 4/4, it's still within the rhythm like the same way.
Of course it will not be perfect but if at least take an approximate BPM without having to keep pressing "T, T, T, T" would help newbies and saving time, we would need only make minimum adjustments if can't get beat right. Not everyone is good to get the rhythm but they can be good mapping, an automatic alternative to at least try to help catch the Main BPM would be good.
Kathex
Automatizado não funciona porque não definem offset e as vezes nem mesmo o bpm corretamente. A solução pra esse problema seria haver bons tutoriais que ensinam corretamente como identificar e deixar o timming certos. Não adianta ter uma ferramenta automática porque o timming tem que estar 100% correto. Se estiver 0.1% errado ao final da musica fica notável a diferença.
Pretendo fazer algo para ajudar nesse sentido, talvez um guia ou um video, porque após aprender a como definir o timming corretamente, se torna fácil para qualquer outro tipo de música que você for mapear . Mas meu foco mesmo é ajudar mudar o problema causador de tudo isso, que é a dificuldade de ensinar os iniciantes a fazerem seus mapas com qualidade. Mas vai tempo para solucionar esse problema...
Topic Starter
WellTVD

Kathex wrote:

Automatizado não funciona porque não definem offset e as vezes nem mesmo o bpm corretamente. A solução pra esse problema seria haver bons tutoriais que ensinam corretamente como identificar e deixar o timming certos. Não adianta ter uma ferramenta automática porque o timming tem que estar 100% correto. Se estiver 0.1% errado ao final da musica fica notável a diferença.
Pretendo fazer algo para ajudar nesse sentido, talvez um guia ou um video, porque após aprender a como definir o timming corretamente, se torna fácil para qualquer outro tipo de música que você for mapear . Mas meu foco mesmo é ajudar mudar o problema causador de tudo isso, que é a dificuldade de ensinar os iniciantes a fazerem seus mapas com qualidade. Mas vai tempo para solucionar esse problema...

Sim Kathex, por esse lado eu concordo que ensinar o pessoal a configurar seria a melhor solução, más o que quero dizer com "a automação" é que ao invés de quando iniciamos um mapping pela primeira vez não nos darem nenhum BPM pré-definido, poderiam fazer uma alternativa que identificasse o BPM padrão da música e mesmo se não tiver muita precisão já iria facilitar para que a gente fizesse pequenos ajustes no BPM/Offset ao invés de oferecer nada e a gente ter que ficar 10 anos apertando (T, T, T, T) e no final ainda termos que ajustar o BPM manualmente da mesma forma...
A automação que eu digo é de ficar apertando (T, T, T, T) toda hora para uma alternativa automática, por exemplo, um botão na tela que ao apertarmos, ele analisa o MP3 e já defina o BPM/Offset inicial para um valor aproximado ou exato da música da mesma forma que alguns programas já fazem (como o MixMeister BPM Analyzer), só que um alternativa dentro do próprio jogo.
-------------
Yes Kathex, I agree with u about learning the newbies is the best solution, but which I'm trying to say about "the automation" is instead of when us beggins any mapping on the first time the game doesn't give any preset BPM, he's could made any alternative solution to identify the standard music BPM and even giving an approximate result It would simplify so we did it just a few adjustments for perfect sync instead to give anyhing value for us and we have to waste our time pressing (T, T, T, T) and in the end we still need to manually adjust like the same way.
Automation I say is getting pressing (T, T, T, T) all the time for an automatic alternate, for example, a button on the screen when we press, it analyzes the MP3 and already set the initial BPM/Offset to an approximate or exact value on the music some similarly programs are already do (like MixMeister BPM Analyzer), but any alternative solution inside the game.
abraker
Good luck having the algorithm detect the BPM is something like this. There is so much noise, subject to potential false BPM changes, and parts that have weak drums, that you are likely to get shit without some kind of advanced analysis which would take too much time to complete. You can also ask Endaris all about mapping BPM to shit that doesn't even have a consistent BPM. The algorithm is likely to throw up on that or give you a false result.
Halogen-
Anything that is reliant on waveforms for automatic tempo generation is going to have numerous situations where it does fail. It will work on electronic music that is reasonably well mastered/simply structured, but anything that has any sort of high-frequency instrument that plays prominently over other instruments (these are the most likely to be picked up on waveforms) will cause problems.
Topic Starter
WellTVD

abraker wrote:

Good luck having the algorithm detect the BPM is something like this. There is so much noise, subject to potential false BPM changes, and parts that have weak drums, that you are likely to get shit without some kind of advanced analysis which would take too much time to complete. You can also ask Endaris all about mapping BPM to shit that doesn't even have a consistent BPM. The algorithm is likely to throw up on that or give you a false result.
There are so many projects on internet mades in C# and C++ like this simple project which detects the "Main BPM"...

Halogen- wrote:

Anything that is reliant on waveforms for automatic tempo generation is going to have numerous situations where it does fail. It will work on electronic music that is reasonably well mastered/simply structured, but anything that has any sort of high-frequency instrument that plays prominently over other instruments (these are the most likely to be picked up on waveforms) will cause problems.
Yes Halogen- but as I said, an ALTERNATE to detect the BPM/Initial Offset would simplify the creation of many Beatmap, not all songs have a steady beat (and everybody knows) bud most of the songs the beat permanesce the same until the end of song and any automatic function to get the BPM without hitting T would be good (and if synchrony not be good, just make adjustments manually or simply reset and make in your way) :D
Endaris
You cant call something that doesn't work the majority of the time an alternative.
Even most songs that are timed as mono-bpm in osu! have small deviations that are usually not audible since theyre rather minimal but they could make bpm-detection trip up for sure.

On top of it the timing help provided in #modhelp is usually relatively fast and of decent quality.

I generally agree that the editor should get a word more on timing than just the tap-method since the results it yields are always slightly inaccurate and depending on the user even entirely wrong but an automatic bpm-detection is not the solution as it's not a tad better than the current tap-method. In fact it's worse.
Kibbleru
There are BPM detectors, but those are 3rd party programs.

i do agree, it would be nice if osu! had a built in BPM detector
Topic Starter
WellTVD

Endaris wrote:

You cant call something that doesn't work the majority of the time an alternative.
Even most songs that are timed as mono-bpm in osu! have small deviations that are usually not audible since theyre rather minimal but they could make bpm-detection trip up for sure.

On top of it the timing help provided in #modhelp is usually relatively fast and of decent quality.

I generally agree that the editor should get a word more on timing than just the tap-method since the results it yields are always slightly inaccurate and depending on the user even entirely wrong but an automatic bpm-detection is not the solution as it's not a tad better than the current tap-method. In fact it's worse.
The same way that nothing begins perfect, want an automatic tool to work 100% in-game is impossible. The intention would be to detect the "Main BPM" on music, I've been testing several C++/C# scripts like this if the beat isn't constant the analyzer doesn't works and I test for the 45 songs in my Osu! folder and only 1 song (Nico Nico Douga - UN Owen Was Her) the detector can't find the BPM, ONLY 1!

When you first run for example, below the reset button could have a button "auto" if the analyzer can detect the song BPM and on press it automatically inset the BPM and offset for the first possible beat.

45 songs, only 1 can't detect and all others syncs perfectly and I can't call an automatic function like this will be good alternative in-game? Really?
Please sign in to reply.

New reply