How can I detect the BPM (beats per minute) of a song?

24,996

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.

Screenshot of the analyser in Mixxx

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.

Share:
24,996

Related videos on Youtube

Linh
Author by

Linh

Updated on September 18, 2022

Comments

  • Linh
    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
      jrg about 12 years
      Are you still looking for an answer to this?
    • Linh
      Linh about 12 years
      Yes, there has not been a decent answer yet
  • Linh
    Linh over 12 years
    I know, see my question...
  • nanofarad
    nanofarad over 11 years
    Can you give an explanation on how to use this software?
  • mmx
    mmx over 11 years
    Copy the files into your $PATH and run bpm-tag file.mp3
  • naught101
    naught101 about 10 years
    Worth 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
    laher over 9 years
    bpm-tools is now available via apt-get, and you'll also need libsox-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
    Jobjörn Folkesson over 6 years
    I would suggest find /music-folder -name '*.mp3' -exec bpm-tag '{}' for tagging all mp3 files in a library