Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Automatic BPM Tagging (Read 10900 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Automatic BPM Tagging

Hi,

after searching the forums (perhaps not well enough), I am still looking for a way to analyze MP3 files for average BPM rates and save this data to the MP3 file (using an ID3v2 tag).

Basically, the idea is that I'd like to create a few playlists with a more or less constant BPM count for the purpose of using them in the gym when I need a continuous beat to keep me in time on the machines.

My method so far has consisted on manually determining the BPMs using a discontinued WinAMP plugin called "Pitchfork" and adding the BPM value to the beginning of each file name. This is, to say the least, somewhat tedious. What I'd like to do is to automagically get the BPM values for the files within a bunch of directories, sort them by speed and then pull out the ones I'd like to use in the gym.

While my precise application might be unusual, I'd have thought that this would also be of interest to bedroom DJs everywhere. Imagine my surprise when I didn't find any tool to do this in a way even remotely similar to the method described above -- either in the commercial or freeware arena.

Of course, my favorite solution would be to find out that this can be done with Foobar2000, which I consider the most accessible music player by far. Any help would be much appreciated.

Automatic BPM Tagging

Reply #1
Hi,

While discussing here, I google for a while and finally find this 2 programs (both commercial) that you may want to take a look (automatic BPM detection):

- djdecks: Demo that works for 35 min, after that you have to restart the program again. It has to playback the song, but after a little (As far as I've understood) the BPM turn from grey to white, and it means that the BPM has been found and the this value is write into the BPM id3v2 tag. After playing yesterday a little with it I've found that it finds BPM for some songs but not for others even after having played the whole song! kind of annoying.. Works on MP3 and ogg I think. The values are tagged when you close the program.

- Atomixmp3: This one has a really quick BPM detection feature and doesn't need to play the song. I've only tried once, it's really quick but I don't know how accurate is it. The only thing I found is that it doesn't write the value into a tag (or I didn't found out how to do it). So you'll have to note it down and tag it yourself.

Hope it helps.

Automatic BPM Tagging

Reply #2
You might want to check out Gjay. Linux only for the time being..maybe some one can make a FB2K component out of the source.

Other wise there is a commercial program that does BPM its called Media Center, it does a lot of stuff besides BPM.

Automatic BPM Tagging

Reply #3
The only one I found that really worked right was PCDJ Red. It detected fairly well, but uses it's own weird format to write the BPM into the ID3v2 tag. So I wrote a quick program to change that PCDJ BPM tag back to a normal tag.

http://otto.homedns.org:8888/itunes/bpmfix.zip should be the program I wrote to do this. I had plans to add BPM detection to it, but never got around to it. It'd be easy enough if I could find some good code to steal.

Automatic BPM Tagging

Reply #4
Quote
The only one I found that really worked right was PCDJ Red. It detected fairly well, but uses it's own weird format to write the BPM into the ID3v2 tag. So I wrote a quick program to change that PCDJ BPM tag back to a normal tag.


I've just tested PCDJ and works great. Really accurate BPM detection. I've also found the storing format for the id3v2 tag in another tools. It's quite weird because 83 bpm becomes 08300 

Thanks for your tool, works great. You could maybe try to see if Gjay is opensource for your code.

Automatic BPM Tagging

Reply #5
PCDJ doesn't work with FLACs, right?
"There is no point in saving WAV... unless you have a huge HD in a very slow computer" - Jan S. (WAV or FLAC, Space No Problem)

Automatic BPM Tagging

Reply #6
Quote
PCDJ doesn't work with FLACs, right?
[a href="index.php?act=findpost&pid=232225"][{POST_SNAPBACK}][/a]


Only works with wav and mp3. Version 5.3.

Automatic BPM Tagging

Reply #7
Check out Mixmeister BPM Analyzer.  It is a free program that determines the BPM from a WAV, MP3 or WMA file and inserts it in the ID3 tag.

Automatic BPM Tagging

Reply #8
Still looking for one that supports FLAC, it anyone get wind of such a beast, please reply here. Thanks.
"There is no point in saving WAV... unless you have a huge HD in a very slow computer" - Jan S. (WAV or FLAC, Space No Problem)

Automatic BPM Tagging

Reply #9
Quote
Check out Mixmeister BPM Analyzer.  It is a free program that determines the BPM from a WAV, MP3 or WMA file and inserts it in the ID3 tag.
[a href="index.php?act=findpost&pid=232306"][{POST_SNAPBACK}][/a]


Thanks for the info. I'll check this asap 

Automatic BPM Tagging

Reply #10
Traktor can tag BPM in ID3 and then iTunes can see such a tag (don't remember if iTunes can actually edit it).

You can analyse a lot of tracks in Traktor and then mass-tag them from the playlist.

Automatic BPM Tagging

Reply #11
Quote
I'll check this asap 
[a href="index.php?act=findpost&pid=232359"][{POST_SNAPBACK}][/a]


Just checked. Quite good, to me (not an expert) very similar BPM counts as with PCDJ. It stores the tag as id3v2 with 'normal' format i.e. 83.05 bpm is 83.05 and not 08305. Only support wav, mp3 and wma.

Automatic BPM Tagging

Reply #12
MixMeister BPM Analyzer is awesome!  For our purposes I think it's better than PCDJ or other DJ software. 

Now who volunteers to write a program that:
  • Takes a directory of flac files
  • Transcodes them to mp3 (could be extremely low bit-rate)
  • Runs BPM Analyzer on the mp3s
  • Reads the ID3V2 BPM tags from the mp3s
  • Transfers the BPM tags back to the flac files
  • Deletes the mp3s.
  • Moves to the next directory and starts over.
N.B. MixMeister has a reasonably good report generator that will output the tags in a comma-delimited format which would make some of the job easier, maybe.
------- Rick -------
--------------------

Automatic BPM Tagging

Reply #13
i dont understand how to show the bpm tags in foobar created by mixmeister bpm analyzer.

bpm analyzer did calculate the bpm, and i´m sure it did write the tag. if i reload bpm analyzer it already shows the right bpm info. now if i open one mp3 file with an editor i also see a "B P M = 1 3 2 . 0 2" near the artist/track name in the same line of the file. so i´m pretty sure the tag is written.

but if i want to show %bpm% in foobar, it doesnt show anything. i read about unicode tags from bpm analyzer(?!), tried $ansi(%bpm%) but nothing happens. reload info, nuke database, re-add all files, nothing.. i feel kinda stupid o0


how to display %bpm% ?

Automatic BPM Tagging

Reply #14
BPM-DJ has more info on how its software (CLI and GUI versions, Linux only) accomplishes BPM detection.
"Facts do not cease to exist just because they are ignored."
—Aldous Huxley

Automatic BPM Tagging

Reply #15
Quote
but if i want to show %bpm% in foobar, it doesnt show anything.
[a href="index.php?act=findpost&pid=313378"][{POST_SNAPBACK}][/a]

Here %bmp% works fine. Dunno... 

Automatic BPM Tagging

Reply #16
Quote
Quote
but if i want to show %bpm% in foobar, it doesnt show anything.[a href="index.php?act=findpost&pid=313378"][{POST_SNAPBACK}][/a]

Here %bmp% works fine. Dunno... 
[a href="index.php?act=findpost&pid=313418"][{POST_SNAPBACK}][/a]

(note: bpm, not bmp)

You should see the tag and its value in Foobar, in the File Info box.
NB: in the Metadata group, *not* in Technical info
To use it %BPM% should work, and %BEATSPERMINUTE% if it's a wma file.
(Those are the fields used by MixMeister BPM Analyzer)

Warning: MixMeister BPM Analyzer can erase some of your tags in the process!
I don't remember more info on this pb, maybe it was because my tags were Ape v2...
Best audio player for the power user: foobar2000

Automatic BPM Tagging

Reply #17
MixMeister BPM Analyzer is also somewhat inaccurate on both the low end and the high end. I haven't used it in a while, but as I recall, it always found a number between 70 and 130 for me, even on songs that I know should be outside that range.

Automatic BPM Tagging

Reply #18
when i remove the tags of my files with tidymp3 and then run bpm analyzer, the bpm info shows up. now if i run tidymp3 and then re-tag the file with foobar and then run bpm analyzer it is not there. why?

Automatic BPM Tagging

Reply #19
BPM Analyzer writes an ID3v2 tag. foobar normally is not set to use ID3v2 tags. It is generally setup to use ID3v1 and APE tags.

So when you tag it initially with foobar, it writes an APE tag to the file. foobar 0.83 will ignore ID3v2 tags when APE tags are present.

Change foobar's setting to use ID3v2 tags instead of APE tags before you initially tag the file.