Monday, 9 April 2012

Take Control of the BPM

Today's post is a long one, but I really hope that it is useful to you.  I am going to show you how to take a song and change it's BPM.  The first time you do this it will feel like a lot of work, but after you have installed the right tools and know how to do this, it only takes a minute or two to change the BPM of a song and you will be master of your running playlist. But you have to promise to still read my blog!

First off I am going to assume you have read my blog post, Intro to BMP, and already have MixMeister BPM Analyzer installed.

So lets say you have a song that you feel just makes you want to run, an anthem to your self expression through running, but it just isn't the right BPM. For me Galvanize by The Chemical Brother is this song and I was well inspired by this video featuring some italian Vibram FiveFingers wearers.

Using our half, or 90 BPM, works as good as 180, it is way to fast at 104 BPM. So in this post I am going to show you how to use a super and free tool called Audacity to slow down the BPM to 90.

Click here to go to Audacity's home page. Right in the middle of the page you should see the download links.

I clicked on the first link, since I have Windows, and I don't have the newest version of Audacity, the 2.0.0, which was released 13.03.2012. Once you've downloaded the file, double click on it to install Audacity. I then clicked yes to everything without reading anything, like any other normal software user. Just so you see the irony here I am a software developer who once spend several months designing an installer for our software...

The installer will automatically launch Audacity for you, so you should see a window like this.

Now grab the audio file containing the track you want to change. I have my music in mp3s, but Audacity can handle other formats, check here to see if you're covered.  So to load my file I go to the File menu and select Open, then browse to the folder containing my file.

Then go to the Effect menu and select Change Tempo.  This will open up the following dialog box.

In the Beats per minute: Textboxes type in the from and to BPM.  For me its 107 and 90. Audacity automatically fills in the percent change.

Then hit OK.  Finally you have to export the song into a new file. Go to the File menu and select Export... you will be prompted to choose a file name and location.  Don't choose the same file name and location or you'll write over the original. You will then have a chance to edit the meta data, I just click OK on this dialog.

If you choose to save it as an mp3 you will get this dialog.  Don't worry this only happens the first time.

Audacity, due to patent constrictions is not allowed to ship this dll (a software file that provides some functions), so you have to install it.  The Audacity wiki has a page, here, to explain how to do this. -  in fact you'll get taken to that page, to the right section even (they detect your OS), if you click on the Download button.  If you are a Windows user here's the essential info (copied from the Audacity wiki page)

  1. Download an unzipped copy of the required lame_enc.dll here
     Left-click this link, do not right-click
  2. Do not open this file, but save it to your computer. As you will be using this .dll file directly for encoding it is recommended to save it into your Audacity installation folder. This is normally at C:\Program Files\Audacity. For me it is C:\Program Files (x86)\Audacity.  

Just to be sure this worked I ran the new file through MixMeister BPM Analyzer.  And well it says my file is 87.48 BPM.  That's fine, in range, but I tried again, using Audacity, going for a target 92 and also 93 BPM. The 92 ended up at 89.42 and the 93 at 90.39.  I choose the 90.39 version, since it changed the original song by a lesser amount.  Don't ask me why this didn't work exactly, I think that the BPM detection isn't perfect.  It's always a good idea to double check the BPM using a tap for BPM tool.  I have done this for over a hundred songs and usual it works the first time, and its only occasionally that I have to tweak a song like this.  Anyway if you are curious to hear what the result sounds like here's a short sample.

One final thing to discuss is the ranges of BPM that can be changed. If I have a song that is 130 BPM or above I up it to 180.  Some songs sound too fast, but most, and pretty much everything over 150, sounds good.  Going down is harder, I usually put the limit at 100, but made an exception here at 104. Stuff less than 90, well I usually try taking songs over 70 to 90. You may notice that a lot of songs are in the 110 to 130 range, which is a great BPM to dance to, but usually don't sound good after tempo changes.  Still I was able to create a running playlist with almost all my favourite songs using Audacity.  I hope you can now too.


  1. I'm going to try this! I use Ableton Live for making music myself. It can do BPM modification and keep the pitch the same really well.