mjhydri/BeatNet

How to get bpm state space value?

atodniAr opened this issue · 3 comments

Running offline mode on audio file produces beat and downbeat array. But I can't access any intermediate state space result. I want to get a scalar bpm value or bpm posterior.

The Offline inference uses an HMM decoder which, unlike the online inference, requires entire data to calculate the results. Therefore before the process finishes, there is no tempo information ready for offline mode. However, if you are curious about the local tempo T in every time step, it can be calculated according to the beat interval between two adjusted beats around that time step as follows: T=60/(beat_interval)
I hope it can be helpful!

The Offline inference uses an HMM decoder which, unlike the online inference, requires entire data to calculate the results. Therefore before the process finishes, there is no tempo information ready for offline mode. However, if you are curious about the local tempo T in every time step, it can be calculated according to the beat interval between two adjusted beats around that time step as follows: T=60/(beat_interval) I hope it can be helpful!

Hi, since most tracks have static tempo, what I want in practice is a constant bpm value.

I could of course simply averaging beat interval, and use T_hat=60/(mean_beat_interval) to estimate global tempo. Just curious if there is a better way to do this.

You could also calculate the BPM for each interval and average that... I think it's likely you'll get fewer rounding errors this way?