|
![](/i/fill.gif) |
I found this:
http://www.all8.com/tools/bpm.htm
That's quite nice, but a cursory inspection of the JavaScript code
reveals how it works: In effect, the first keypress starts a timer. The
displayed BPM is simply the time elapsed between the first and most
recent keypress divided by the total number of presses.
In other words, if the first keypress is slightly out of time, it throws
the whole measurement off. Given that it usually takes a few moments to
get into the rhythm, the *first* keypress is the one *least likely* to
be precisely in time.
Now I'm wondering if I can come up with something a little more
accurate. (Although, obviously, accuracy is ultimately determined by how
good your coordination and sense of rhythm are!)
I had a play with this yesterday. I took my rock and roll collection and
measured the speed of 34 tracks.
Of course, BPM is slightly subjective in that it varies according to
what you deem a "beat" to be. For example, taking a waltz such as Hey
Paula, if you count the 1/2/3/4 beats you get approximately 75 BPM. If
you count the 1/2/3 beats inbetween as well, you get about 240 BPM.
(Roughly 3x faster - shockingly enough.)
Even for songs in 4/4 time (i.e., the vast majority of the tracks), you
usually have a choice of several BPM ratings, all multiples of 2 of each
other. I took my timings based on the speed of the "slow" steps you'd
most "naturall" dance to the music.
Using this measurement, I got speeds of around about 70 - 80 BPM for
most tracks. A few were as slow as 65 BPM, a couple were in the 90 to 95
BPM range.
And just *one* track registered at a frankly silly 135 BPM. (!!)
Arguably all those values ought to be multiplied by 2, since the "fast"
dance steps are twice the speed of the "slow" ones, and more closely
match the most obvious drum beats. That gives us most tracks being
somewhere between 120 BPM and 180 BPM, with one outlier at 270 BPM.
The outlier was Lonnie Donegan singing Cumberland Gap, by the way. I
literally can't move my feet that fast. I bet Debbie can...
Post a reply to this message
|
![](/i/fill.gif) |