The bpm-tools software is the result of some experiments I did into automatically calculating and tagging the tempo (in beats-per-minute) of music files.
Right now the code serves as the best explanation of the algorithm — a relatively simple application of an autocorrelation by statistical sampling. As yet, there is no scientific comparison of the algorithm with others software.
But, in general I have found this incredibly useful and flexible. It reliably detects the tempo of the vast majority of popular music I have used it with, and is a useful tool for DJs and use with xwax on Linux, and scripting on the command-line.
The most recent release is bpm-tools 0.3 (21st May 2013)
There is a Git repository available:
$ git clone http://www.pogo.org.uk/~mark/bpm-tools.git
This software is licensed under the GPLv2.
For Linux DJ discussion, including bpm-tools, try #xwax on irc.freenode.net or the xwax-devel mailing list.
I'm available to hire for work in this area, including improved algorithms, integrating BPM detection into commercial applications and other audio software development; for information.