foo_rubato ~ Foobar2000 Rubato BPM Analyzer


Detects the tempo of a track and which of Tango, Vals, Milonga it is – or none of the three – from the audio alone, without reading the genre tag.

The two answers are linked. The tempo a dancer taps is not a property of the audio by itself: a tango is tapped on the beat, a vals once per 3/4 bar, a milonga once per 2/4 bar, a reggae on the quarter note – under the skank rather than on it. So the rhythm is settled first and the tempo reported on the level that rhythm implies. Measured against 3,692 hand-tapped tracks the estimate lands within 2 BPM of the tap 88.7% of the time, which is about as close as the same person tapping the same track twice; rhythm classification is 93.6% accurate. docs/tango-analysis.md has the method and the full numbers, and docs/cortina-genres.md covers the cortina genres that were measured and left alone.

Originally written by Michael Balzer+Holger Stenger as BPM Analyser, but bpmcore engine was completely rewritten.

github.com/shaforostoff/foo_rubato
hydrogenaudio.org/index.php/topic,129923.0

References:

en.wikipedia.org/wiki/Tempo_rubato