Tuesday, May 20, 2008

Running and Music

I love to run. I'm not fast or prolific - logging 25-35 miles per week with the pace anywhere from 7:30 to 9:30, depending on the run, conditions and my attitude. One constant, however, is my MP3 player (actually, my AT&T Tilt - best PDA phone around!). I either listen to music or to audiobooks, depending on my mood. When I listen to music, it's important to have the right music for the pace I want to run. With my player set on shuffle, I can just FF or RW to find the right mix. But as my catalog of songs grows and changes, this can be a little frustrating and distracting. I could create playlists based on my recollection of the pace of certain songs, I suppose, but that takes far too much remembering and thinking. So, being an engineer, I have to come up with a neat analytical solution.

First, I download the freeware MixMeister BPM Analyzer (thanks, Eric!). Install the software, launch it and open the folder on the player with all my music in it. The BPM Analyzer does its magic calculating BPM for most of the music (some songs with softer beats or without a strong foundation (read:bass/drums) won't submit properly to the analysis - move these to the slow end of your playlist!). Then click on the handy-dandy "export to text" option to get your entire (well, most of it) playlist with filename, song title, artist and BPM in a neat, tab-delimited text format.

Again, being an engineer, I have an expansive Excel file with all my running history and analysis. I import my BPM text file in as a new worksheet, clean it up a bit and start my analysis.

First, I know my stride length - simply calculated by running a specified distance (tracked using my Garmin Forerunner 205) and counting the paces/steps required to get there, then dividing the distance in feet by the number of paces. My stride is about 4'. Divide a mile (in feet = 5280) by the stride length and you get your steps per mile. (I know, I know, your stride length will vary based on pace - but I argue that this is +/-15% variation, so for my purposes, this hysteresis is negligible). Once you know your steps per mile, you can create an index of the BPM that correlate to a specific pace for you. For me, for example, this looks like this:

210 BPM 7:00 min mile pace
196 BPM 7:30 min mile pace
183 BPM 8:00 min mile pace
173 BPM 8:30 min mile pace
163 BPM 9:00 min mile pace
154 BPM 9:30 min mile pace
147 BPM 10:00 min mile pace

Good to go, right? Well, not quite. The BPM calculated may be on the quarter, half, whole or other "beat" of the song, depending on which instrument is dominant. As it turns out, what I 'sense' as the beat in a song looks like it's about half the frequency of the BPM Analyzer results - so I should take the BPM results and divide by 2. Applying this to my index, I get:

7:00 min mile pace 105 BPM
7:30 min mile pace 98 BPM
8:00 min mile pace 92 BPM
8:30 min mile pace 86 BPM
9:00 min mile pace 81 BPM
9:30 min mile pace 77 BPM
10:00 min mile pace 73 BPM

Further, what may be a "slow" song (Damien Rice's "9 Crimes", for example) may show up with a BPM of 174 because of the dominant instrument (piano?) - but I know for a fact, that song doesn't push me to an 8:00 mile! So applying some judgment, I determine that any song with a BPM >120 needs to be divided by 2 to get what I call the "equivalent" pace (e.g., 120/2 = 60 BPM). So songs with a BPM of <120, I use the direct BPM Analyzer results. Songs with >120 BPM, I divide the BPM by 2.

Then, using a couple Excel formulas and good ol' copy-and-paste and the index above, I create a reference table of all (most!) the songs in my catalog by the pace they will support/drive:

1234 Feist 132
9:30 or slower
1979 Smashing Pumpkins 127 64 9:30 or slower
100 Years Five for Fighting 124
9:30 or slower
9 Crimes Damien Rice 124
9:30 or slower
A Comet Appears The Shins 110 110 7:30 or faster
A Lifetime Better Than Ezra 136
9:30 or slower
A Little More O. C. Supertones 89 89 8:00-9:00
Africa Toto 93 93 7:30-8:00
Agnus Dei/Worthy Third Day 146
9:30 or slower
All In All Lifehouse 87 87 8:00-9:00
All the Wrong Reasons Tom Petty & The Heartbreakers 158 79 9:00-9:30

This can then be sorted by the Run Type to group together songs that support a particular pace.


Tom said...

Whoa! Too much info for me to process, but very insightful. I usually just do the FF or RW thing. If you really want a quick pace, hit some bluegrass. I've been running to Doyle Lawson and Quicksilver for a month now and it seems that I am getting to hear less songs because I tend to run a little faster. Maybe a 10k would give me the time to hear the whole CD.

Movin' Mountains said...

Not being an engineer - I'm impressed with your dedication to running and your analysis of the physiological issues. Makes me want to don the Converse 'high tops' and jog around the block -- or maybe just down the block. Good job - and insightful postings!

Eric Livingston said...

yep that mixmeister program is pretty handy although it does poorly with a cappella music.

oh, by the by, you're a nerd.

Jeff said...

Eric - Yes, yes I am.

Jason said...

Wow, that's much more meticulous than I could ever hope to be. I like to listen to music when I run, too, but my song selection doesn't get more detailed than which songs are uptempo and have a good visceral push to them." I used to find myself running in time with the music, but now I've managed to keep a rather steady pace regardless of what I'm listening to.

Jeff said...

Jason -

Yeah, like Eric said above, I'm a nerd! Stuff like this I think I do as much to see if I can do it as for the value it actually adds. What can I say, I'm an engineer!

I noticed your posting has dropped off at your site in the last months. Have you thought about jumping on the Twitter bandwagon? I was reluctant, too, but I have to say that "micro-blogging" is much more "stream-of-consciousness" and low-maintenance than regular blogging - but it is interesting to "keep in touch" with interesting folks' daily thoughts, reflections and activities. Just a thought!

Jason said...

I might look into Twitter. With summer vacation just a day away--I teach high school English--I hope to post on my blog more regularly.

karthik said...

Hi Eric,

Really loved your post. Helped me tag the BPM to the Minutes/Mile. But here's where I am bit confused, taking a song with BPM less than 120 (essentially a slow song) and leaving it as is, doesn't seem to make sense. For example Green Day's "Macy's Day Parade" comes to 108 BPM but it wouldn't pump me to 7 min/mile run :)
Can you please clarify?

Karthik said...

That question was for Jeff :)

Jeff said...

Karthik -

What I mean is when the BPM drops that low, you have to just subdivide the beat - i.e., set your running pace to the half-beat or quarter-beat of the BPM...

Karthik said...


Thanks a lot for your response. Have been using workout mixes from the web for running so far and want to try making my own, especially because I can choose the music that I can run to :-)

What you've just explained helped. I am Creating a playlist using the tools that you've posted about. I am looking forward to using it. Thanks again.

Kris said...

Haha. Just found this old post through a google search. I'm also an engineer and just started doing the exact same thing! Right down to importing into excel haha. Must be a nerdy engineer thing. Can't wait to try it out running in the morning!

Rachel said...

Sweet. This is exactly what I was looking for. I've been looking for a way to group songs by running pace... and yeah, its definitely an engineer thing!

Stephanie said...

I am not a nerd (ha!) but I love running and I love music, so it followed that I would want to have a consistent pace with the help of my fave tunes. You, thank you, have helped me figure out why a song came up with 81 bpm when I know I run a 9 minute mile to it. Thanks!