This page is dedicated to those who have considered classifying their mp3 collection according to tempo, which is measured in beats per minute, or BPM. A great use of this musical measure is the creation of playlists: a playlist with fast music to play at the gym, a playlist with slow music to relax, etc.
I started this page in 2004 out of frustration with Winamp and iTunes—the two main digital media player and list-maker applications. Because neither had a way to compute the BPM, I started looking for other software and keeping track of it in this page. After all these years, Winamp and iTunes still cannot calculate beat per minute. However, they did add numerous new features, some of them in the area of BPM:
If you don't use iTunes, or if you use iTunes but you still need the actual BPM information (DJ's, for example), you will need to find a third-party application to count those beats per minute. The leading application for this very specific job at this point in time seems to be the free "MixMeister BPM Analyzer", but you should also try some of the other applications, listed below. Please let me know what worked best for you.
After you use the auxiliary application, you can go back to Winamp or iTunes and organize your songs by BPM and create playlists. If you add BPM information to an mp3 file that was already in the iTunes library, to get those values to show in iTunes do the following: quit iTunes, open it again, select the songs you scanned. In older versions of iTunes ou may need to select/highlight all the songs in the album and choose get info; don't make any changes; select OK. If you still don't see the BPM value, make sure you are scanning exactly the same files that iTunes is managing; don't forget that iTunes makes copies of songs when creating its library.
The equivalent operation in Winamp to show a recently detected BPM value is as follows: select the files on which you want to update the BPM value; right click on the selected files and select 'Read metadata on selected items'; this quickly populates the BPM column in Winamp. (These tips were sent by visitors to this page.)
MP3 is the main audio format covered by the applications listed below. However, some of the BPM software also covers other audio formats such as AAC, and WAV. Some audio formats have very limited support and DRM-protected audio formats (AAC, etc.) are even more restricted. If your iTunes library has some DRM-protected songs, you can remove DRM from them, following these instructions on iTunes.
If you found this page because you too were looking for BPM detection information, then you may know of some application not yet listed here. In that case, please contact me using the link in the navigation box. Don't forget to also send me your feedback on the applications you ended up using.
If you think this page is useful and you have a web site, please link to the page with the link "BPM Detection". Thank you—back links are very much appreciated. If you are a developer and would like your application listed here, please contact me too.
Software that calculates the BPM value by analyzing the songStandalone BPM applicationsPromises fewer errors and better precision than others apps because it uses higher quality mp3 decoders. Cadence is a desktop application (Mac and Windows) and an iPhone app. The desktop application analyses the songs, detects the beat, and saves the BPM measure to the song file. The iPhone app that plays songs based on that BPM number. Import the songs into MixMeister and it will compute BPM automatically and save that information in the ID3 tag. You can also export a text file with that information, which is one way of creating BPM playlists if you are using Winamp. Does automatic BPM count and Beat Intensity analysis and lets you save the data to the iTunes library. Automatically (or manually) determine BPM and store the result in iTunes. Create matchlists, i.e. playlists based on one or more sample songs. Analyzes more than just beats: sound color, key, and more. Seems to be at least as complete as MixMeister and also free. Many specialized options: BPM in fractions or in BPM/100 integers; writes to TBPM in ASCII instead of UNICODE; etc. Analyses not only mp3 and WAV, but also music CD's. BPM information is saved in a text file or is appended or prepended to the song filename. Does not save to the ID3v2 tag. Music BPM Analyzer - Cubic Carrot Software iPhone App. Does not save the BPM back to the mp3 file. Free (as of Sep. 2010.) Beat Counter - Cubic Carrot Software Takes a queue of mp3 or WAV files as input and calculates their BPM. Plug-ins for Winamp, iTunes, and other applicationsAutomatic-detection BPM counter. BPMeter (a.k.a. BPM Meter) - Winamp Automatic-detection BPM counter. DJ Helper for Winamp 2.x It's a mixer, but it contains BPM music analysis. DeKstasy - iTunes It's a mixer, but it contains BPM music analysis. Record Box Editor for Final Scratch Fully automatic BPM detection and mp3 file tagging. DJ-oriented applications with BPM functionsFrom the site: "It helps profile your songs by saving important properties, such as the BPM, key, time signature, styles, comments, and more. The software includes automatic BPM and key detection, as well as tools to determine this information yourself--a BPM tapper and a MIDI keyboard." With version 1.7.2, Scratch LIVE now has built-in BPM detection and saving to the ID3 tag. Automatically detects BPM but does not write it to iTunes. mp3 mixing software, "targeting every DJ from bedroom DJs to professional superstars" according to the developers. It helps profile your songs by saving important properties, such as the BPM, key, time signature, styles, comments, and more. Not as fancy as the professional mixing tools, but it is free. The BPM application is separate from the main DJ application. Detects BPM but does not save to ID3v2 tag. Detects BPM and saves to ID3v2 tag. Traktor DJ Complete DJ application, not just a counter. Automatically matches and mixes beats from different tracks. DJ Mix Lite is designed to play continuous music with cross fading, beat matching mixes between songs. Other:
For software developersBpmDj (open source Linux) GJay (open source Linux + X) Builds a GUI around BpmDj. Find the beat by tappingTapping in rythm with the song is not a good solution if you have four thousand files in your collection, but it can be useful in some situations. Is a free tempo detection app for iPhone designed to simply and elegantly get the job done.
Freeware.
Freeware. FlyPop (freeware) Manual tapping. Warning: this application produces very un-reliable results. It generates different BPM values depending on other programs that may be running on the same machine. Not recommended. MuseBook Metronome (shareware) Manual tapping BpmChecker (shareware) Manual tapping Web applications
The song tempos database search locates and download songs you like that match the workout pace you prefer.
The song tempos database search locates and download songs you like that match the workout pace you prefer. Articles and LibrariesJava Beat Detector - description of an algorithm and source files. Beat Detection Algorithms, by Frederic Patin - statistical approach of beat detectin and filtering approach of rhythm extraction.
Beat Detection Object - an object for use with the Ess sound library. |
Unbiased opinions on BPM-detection software, straight from the visitors of this web site:Steve, October 2010: Abyssmedia BPM seems really cool. It's easy to navigate and it has very accurate readings of BPM; however, it doesn't save any of the BPM information to the file. Once it's done analyzing, you have to manually input the BPM info into iTunes. And, it only does one folder at a time. Since iTunes gives every artist and album a different folder, you have to individually select each and every folder to see what the BPM are for the songs inside that folder. I was excited at first, but it fell flat. And there is no included manual or much of a help-site, so if I'm doing it wrong, there's no way for me to learn how to do it right. With MixMeister it seems possible to import the BPM information, but I need to delete the current file out of my iTunes program (not remove the file from my computer, just delete the reference to it in my iTunes) and then drag and drop it from MixMeister--it's possible to do, but it's really labor intensive. I'm not a fan. Mike, August 2010: I wanted to try and get some music for my workouts organized, and recognized I needed something that could report things automagically. I tried MixMeister -- haven't tried anything else but based on the results I'm starting to think that BPM recognition is VERY primitive. While it generally made some sense, there were many songs on either end of the spectrum (either very slow or very fast) that were grossly miscalculated (the very slow "Walk on By" with Burt Bacharact was listed as 150+, while the very fast Pointer sisters "I'm So Excited" was listed as 91?!). In general I think whatever algorithm might be getting confused by volume -- there's got to be something fundamentally flawed in this tagging but I don't know where. It kind of reminds me of the very early days of OCR where the errors made the process hardly worth doing. It may still be somewhat useful, although I will obviously have to go through the songs manually (10K+ songs! Sigh) and correct the obvious errors. And I may try some other programs just to see if anything is better. But at the moment I think all of these things should be taken with a LARGE dose of salt. John, Feb 2010: It's probably the music I tried it on, but I didn't have a good experience with the software I tested. First I tried a mixture of Bossa Nova tracks, with no particular correlation between the calculated BPM and the tempo of the music. Then again, there wasn't a very broad range of tempos in the sample I tried. For a better test, I used a mixture of slow, medium and fast Blues tracks, dividing them into those categories. Neither product, Mixmeister or Abyssmedia, did any better than chance at finding the true BPM. I suppose it's not surprising - bossa is a fairly complex rhythm, and even slow blues tends to have a lot "happening" most of the time, even when the beat is very slow. I was asking a lot of the software, and I'm not surprised that it didn't do a very good job. I would imagine that some other types of music would give better results. Hao on Mixmeister: I tried Mixmeister and Tangerine. Mixmeister worked okay but you can only analyze one song at a time and import the info back to iTunes one song at a time. Because I have 1500 songs in the library, I decided to purchase Tangerine. It turned out to be the best $25 I had ever spent. It takes seconds to analyze my whole library and about 10 min to export the info back to iTune. For most songs (I tested 10), Mixmeister and Tangerine gave the same BPM results. They counted one song very differently. Tangerine does not appear to be as accurate as Mixmeister after I manually counted a small sample of songs where the 2 softwares count differently. Bruce Abel on beaTunes: The application seems to work as advertised. I am evaluating the trial version, primarily for the beats per minute functionality. In general it seems pretty good. The analysis of a single track seems to be a little slower than using MixMeister. MixMeister does not have an accuracy slider. I have not compared the two in terms of accuracy of the beast count. Who knows? BeaTunes may be more accurate and therefore slower at the 'most accurate' setting (which is what I am using - as there seems to be a fair amount of discrepancy between results derived with that setting or with the default 'average' setting). One feature that may come in handy is some form of notation regarding how 'sure' the application is of its BPM calculation for each track (if that's even possible). This notification issue also relates to the beat analysis range... How am I to know if the tracks I have selected to analyses are within the range. If they happen to be outside, do I receive a warning that the track is not suitable using the selected range, does the analysis for that track fail with no warning and not embed metadata for the BPM, does it return an inaccurate result? This is an area that I strongly believe requires further documentation and / or feedback within the application. Other than that, the application seems to work as advertised for the BPM analysis. So far it's all automated and feeding results nicely to the metadata and iTunes. The other features of this app, like analyzing for song 'color' etc are outside the scope of this review. Alan Muskat on various applications: I am on an Intel Mac. I tried Mixmeister on the PC side but there's a bug between it and iTunes. Tangerine does not seem very accurate. Dekstasy seems very impressive functionally, but not very easy to use. Beatunes does an OK job with the accuracy turned all the way up and the proper beat range selected. In general one has often have to halve or double the BPM a tool comes up with. I am finding that if one measures every song by quarter note as the computer does, the results are often misleading. Two songs can have the same BPM and yet one feels half as fast because it only really emphasizes every other note. In these cases I have halved the measured BPM even though technically it was probably accurate. |