madmaxoft / SkauTan

Music player for Skautské Tancování
https://skautske-tancovani.cz/
The Unlicense
1 stars 2 forks source link

Tempo Detector: Self-similarity algorithm #182

Closed madmaxoft closed 5 years ago

madmaxoft commented 6 years ago

A new algorithm should be tried out for the tempo detector:

  1. Downmix to mono, calculate loudness levels at every N samples (512 - 2048?)
  2. Calculate self-similarity on the loudness levels array with different offsets (in BPM range)
  3. Use the best similarity as the tempo
madmaxoft commented 5 years ago

Even calculating self-similarity on the beat indices themselves already provides better results, after the input is downsampled to 500 Hz.

madmaxoft commented 5 years ago

The test harnesses are committed, but the resulting code is not accessible through SkauTan / GUI yet. A separate issue will be used to track that, when we decide that the recognition is good enough (the 90 % achieved now don't feel good enough).