Menu

Beat detection giving imprecise results

7heW4yne
2017-03-08
2018-05-18
  • 7heW4yne

    7heW4yne - 2017-03-08

    Hello,

    I wrote a simple test. It uses our wmf & ffmpeg based engine to decode an mp3 file and writes int16 samples (stereo) to the beat detector of soundtouch. After all data has been written is gets the BPM value ... really simple.

    I did some testings with different tracks and got results that often differs a lot from the "correct" (official) BPM values and where the differences also vary in a quite big range.

    You can find some of the songs I tested here:
    https://askmacgyver.com/blog/tutorial/how-to-implement-tempo-detection-in-your-application
    (Just scroll down to "Sample Audio Tracks to Test". The links are not all providing the files named in the text, but using these files you are sure you got the same files I used.)

    I tested:
    Gorillaz - Feel Good Inc -> 131.316681 bpm (Official: 139 bpm) -> -5.5%
    Hozier - Take Me To Church -> 170.117340 bpm (Official: 129 bpm) -> +31.8%
    Jay Z - Empire Start of Mind -> 197.816437 bpm (Official: 173 bpm) -> +14.3%

    After that I adjusted the test to cut off 25% from start and end (analyze only 50% of the track without intro or outro), with following results:
    Gorillaz - Feel Good Inc -> 132.480377 bpm -> -4.7%
    Hozier - Take Me To Church -> 161.657318 bpm -> +25.3%
    Jay Z - Empire Start of Mind -> 154.598007 bpm -> -10.6%

    I know that "exact" beat detection is a really hard task. But is there a way to get more accurate results? Or at least more similar deviations?

     
  • oparviai

    oparviai - 2018-04-03

    This is a reply to an older post. The current BPM routine doesn't give good enough BPM estimate in some cases, I have some BPM algorithm improvements in my desk drawer, will need to integrate those to SoundTouch release.

     

    Last edit: oparviai 2018-04-03
  • fred vs

    fred vs - 2018-04-23

    Hello Olli.

    Some news about the new BPM algorithm ?

    ;-)

    Fre;D

     
    • oparviai

      oparviai - 2018-05-16

      Yes: I committed BPM algorithm improvements just a moment ago. I have not thoroughly tested these with different music types yet, but these work much better than before.

      I have moved the source codes from svn to git, the new git repository is here: https://gitlab.com/soundtouch/soundtouch

       
  • 7heW4yne

    7heW4yne - 2018-05-18

    Meanwhile, I switched to the beat detection of aubio - a really great tool to analyze audio.

    But soundtouch is still my one and only tool to change tempo and pitch. No other brings results like your customized WSOLA algorithm.

    Nice to hear, that you moved to git. Unfortunately, Sourceforge is not what it was some year ago.

     

Log in to post a comment.