Thursday, October 4, 2012

90/180 BPM Running Playlists and Beat Detection Software

In my last post, I discussed my motivation for coming up with an iPod playlist of songs with tempos and 90 or 180 beats per minute (BPM), to listen to while running. This helps in running with a cadence of 180 strides per minute. Fortunately, the interwebs oblige with lots of suitable running playlists, as well as quite an extensive list at jog.fm.

With sample playlists in hand, I was able to put together one based on my own collection of music that looks something like this:

Ramblin' Man - The Allman Brothers Band
Never Is Enough - Barenaked Ladies
Wild Honey Pie - The Beatles
I'm a Loser - The Beatles
One After 909 - Beatles
Run for Your Life - The Beatles
Norwegian Wood (This Bird Has Flown) - The Beatles
Can't Find My Way Home - Blind Faith / Eric Clapton
Subterranean Homesick Blues - Bob Dylan
From A Buick 6 - Bob Dylan
Modern Love (1999 Digital Remaster) - David Bowie
16 Military Wives - The Decemberists
The Boys of Summer - Don Henley
Man With a Mission - Don Henley
Maxine - Donald Fagen
Son of a Preacher Man - Dusty Springfield
At Last - Etta James
It's Your Thing - Isley Brothers
Feelin' Alright - Joe Cocker
One More Time - Joe Jackson
All My Love - Led Zeppelin
Custard Pie - Led Zeppelin
Boom, Like That - Mark Knopfler
Don't Crash the Ambulance - Mark Knopfler
Sunday Morning - Maroon 5
The Impression That I Get - The Mighty Mighty Bosstones
The Flyer - Nanci Griffith
Live Forever - Oasis
All Around the World or the Myth of Fingerprints - Paul Simon
The Obvious Child - Paul Simon
In Your Eyes - Peter Gabriel
Watching the Clothes - The Pretenders
Precious - Pretenders
Fat Bottomed Girls - Queen
Finest Worksong - R.E.M.
Breaking the Girl - Red Hot Chili Peppers
Give It Away - Red Hot Chili Peppers
Yertle the Turtle - The Red Hot Chili Peppers
Black Cow - Steely Dan
Hello It's Me - Todd Rundgren
Bright Side Of The Road - Van Morrison

If you noticed that this list is full of a lot of moldy oldies, you're right. But I'm of a certain age, and that's what's in my iTunes. In any event, it's not a bad list, and I have been running happily with it for several weeks. However, I quickly tire of almost anything, and longer term I would like more variety. Now, I should say that I own a lot of music. The CD rack holds about 800 discs, and it's full, and other CDs are squirreled away in various other locations. There are about 15,000 tracks in my iTunes music library, so I probably own a lot more tracks that are 90 or 180 BPM. How to find them?  Ideally I'd like something that could crawl through all of my iTunes tracks, analyze the music, and automatically fill in the BPM information. I know it’s not going to be fast, but that's OK. It can run overnight if necessary, or over many nights, for that matter. I found three programs for Windows, free and commercial, that claim to do what I'm looking for.

Cadence Desktop Pro


The Big Kahuna in the very sparse field of automatic beat detection software seems to be Cadence Desktop Pro. It claims to do pretty much exactly what I want: it communicates with iTunes so it knows about your playlists, and makes it fairly easy to select a playlist or part of one, find and display the tempo for each track, and then gives you the option of saving the BPM info back to the tracks. It also gives you a way to verify the tempo by playing a track and tapping with the beat on the space bar.



I downloaded and installed the trial version, and my initial results were good enough that I went ahead and paid $6.99 for the full version. The problem is, it crashes... a lot. It worked well at the beginning, but after a while it became completely unusable. Apparently this happens for other people who have a lot of tracks in their iTunes library. If you have a modest collection of tracks, probably less than a thousand, Cadence Desktop Pro is a very good tool for the purpose. Otherwise, you might want to evaluate carefully before buying.

MixMeister BPM Analyzer


MixMeister BPM Analyzer is a free tool intended for DJ's to find the perfect beat, but looks promising for those of us who don't make it into nightclubs much these days. Its user interface is a bit simpler than Cadence Desktop, and it doesn't integrate with iTunes - it just works off music files on the filesystem. You can browse to a directory, and the program will analyze all music files in that directory as well as all subdirectories (incidentally, it only works with WAV, MP3, and WMA formats). This allowed me to quickly find several more songs in the 88-92 BPM range in an old playlist directory of running songs:


All in all, I like this tool. It's very fast, maybe about 5 seconds per song on my reasonably high-end developers' PC. It automatically saves the Beats Per Minute data to each track, so you could certainly use it in conjunction with smart playlists on iTunes.

BPM Detector Pro


The final entry in the world of automatic beat detectors is BPM Detector Pro. This is also a file-based program, and works quickly, but the look and feel is certainly nothing to write home about:



The trial version is very limited, as you can only analyze three songs at a time. I never did figure out its scheme for exporting BPM data. According to the help file, "Source files may either be renamed, or copied to a new file with a new name. In either case the BPM value can be placed either at the beginning or at the end of the new file name." I didn't want it to do either, and fortunately it didn't create any new files, unless it put them an undisclosed location.

Conclusion


At $24.95 for the full version of BPM Detector Pro, I'll be sticking with MixMeister BPM Analyzer. Besides working well and being free, they also get bonus points for not including the word "Pro" in their name.