How can I detect the BPM (beats per minute) of a song?
Solution 1
bpm-tools are command-line tools for detecting and tagging BPM.
Here's the man page of the package in Ubuntu 14.04 LTS.
You could use a loop or xargs
in a shell script to run this on a library of songs.
Solution 2
There is a thread (Any beat detection software for Linux?) on SuperUser dealing with the same problem.
It uses a combination of commands (bpmcount
, mid3v2
, vorbiscomment
, metaflac
) compiled into a neat shell script.
Solution 3
Mixxx has a built-in analyser that will let you select a bunch of songs from your library to analyse their BPM.
I recommend using the latest version of Mixxx (1.11 at the time of writing) to make sure you get the most reliable analysis (it has been enhanced recently). You can use their PPA to always have the latest stable version.
However, as mentioned by naught101 in the comments, the value is not yet saved in the file's tags as the development team needs to fix a memory corruption problem before it is enabled. Therefeore, my answer is only partial.
Solution 4
SongKong (pro version) can calculate the BPM of over a million songs as they are matched to MusicBrainz. It updates your iTunes folders in real time.
Related videos on Youtube
Linh
Updated on September 18, 2022Comments
-
Linh over 1 year
For some activities such as running it is important to know how many BPM a song has. I know that Banshee can do this but I couldn't figure out how to do this for a selected range of songs.
Which tool can I use to detect the BPM and immediately tag this in the ID3 fiels of the corresponding files?
-
jrg about 12 yearsAre you still looking for an answer to this?
-
Linh about 12 yearsYes, there has not been a decent answer yet
-
-
Linh over 12 yearsI know, see my question...
-
nanofarad over 11 yearsCan you give an explanation on how to use this software?
-
mmx over 11 yearsCopy the files into your $PATH and run
bpm-tag file.mp3
-
naught101 about 10 yearsWorth noting that tags are not saved in the files in newer versions of Mixxx. The option is disabled, due to potential data corruption, and Mixxx never saved BPM to files.
-
laher over 9 years
bpm-tools
is now available via apt-get, and you'll also needlibsox-fmt-mp3
for mp3s. However, I tried using it with one mp3, and it erased/corrupted the existing tags. So, proceed with caution (I just use the-n
option to print it to screen only). -
Jobjörn Folkesson over 6 yearsI would suggest
find /music-folder -name '*.mp3' -exec bpm-tag '{}'
for tagging all mp3 files in a library