Is there a way to calculate the BPM of an audio file in Java? Or is this an attribute accessible from the metadata?
TrackAnalyzer is a java based command line tool that estimates the musical key and bpm of digital recordings. As Beats per minute is not a feature of the track, this is an estimate.
You can find more information and source code here