I think I might have mentioned in the past that I have an amazing, amazing lack of musical ability. I count myself lucky in some other departments, but talent with music is not one of them.
Because to be honest, I’d be at a real loss to prove it wrong. 😦
I don’t have any real reason to doubt bpm-tools, even if the home page is a little vague on the exact formulas used to analyze a particular track. I’m sure if you dip into the source code, all will be revealed.
Of course, even knowing how it goes about its calculations wouldn’t do me much good, since tempo analysis is probably something that … well, requires knowledge about … music and … stuff. Which I have already admitted I don’t have.
bpm-tools includes the bpm executable, and comes with a tagging utility so you can insert the results of the bpm executable into a file, for future reference. If you moonlight as a DJ from your Linux admin job, it might make things easier when looking for interlocking tunes.
bpm itself built perfectly for me in Arch, and I only touched up the bpm-tag script so it would access the executable in the same directory. Other than that, bpm-tools was a completely hands-free experience.
bpm-tools is in Debian for Jessie. There is a PKGBUILD in AUR that will hold your hand while you build bpm-tools, but doesn’t seem to take into account that sox is necessary to make it run. And if you want to draw on the tagging feature, you’ll need the appropriate library to support that (vorbis-tools for ogg files, just so you know).