Making a smart BPM knob in Ableton Live

I saw a request on Reddit for an accurate BPM knob from a MIDI controller to Ableton Live, and thought I’d do a writeup on a hack I did recently.

A normal knob mapped directly to the BPM of Ableton can be very hard to use, and ties you to staring at a tiny number in the top corner of your laptop trying to fiddle with a knob exactly, right when you should be mixing in the next song.

I made a smart BPM knob instead, using a bit of a hack with the IAC driver and dummy clips, but I think it works great.

If you aren’t familiar with how to use the IAC,¬†Tom Cosm made a fantastic introduction video. I highly suggest taking a look, as it will make what I’m about to do make a lot more sense.

Watched it? Good, now enable your IAC driver (or MIDIyoke on PC) in Ableton.

Now in the Session View create a new MIDI track and name it BPM. Open the IO panel, and route the MIDI To to the IAC driver.

Double click the first slot to insert a blank MIDI clip.

Add a MIDI note on center C. Shorten the note, and the loop length, to as short as Ableton will let you make it. This will keep the note firing constantly.

This is what you should have so far

Now, open up your Library -> MIDI Effects and add a Pitch effect to the BPM track.

Fire up your MIDI controller, open MIDI mapping mode, select the Pitch knob in the Pitch effect box, and twirl the knob you want to map to control your BPM.

Set your Min value for this new MIDI mapping to 0 and your maximum to 4.

In this example I will show you how to define 5 preset BPM values. You can increase or decrease the number of preset BPM values very easily, by increasing or decreasing the Maximum number of the MIDI mapping we just created.

Your MIDI mapping should look something like this:

Now exit MIDI map mode.

Scroll to the very bottom of your live set, still in Session view. Add 5 new empty scenes to the bottom, and name these whatever BPM values you want as your presets. (95bpm, 100bpm, 110bpm, 120bpm, 140bpm for example.)

Make sure to select all of the clip slots in these new scenes, and select Remove Stop Button. This way when they are triggered, your other tracks will not stop playing.

Start your dummy clip playing, select the first numbered BPM scene launch button, and open MIDI map mode. The note that is going out through your IAC driver will come back in to Ableton, and make the mapping immediately.

Exit MIDI map mode. Twist your knob until your Pitch plugin goes to +1. Select the next BPM scene launch button. Enter MIDI mapping mode again. Again the note will map it immediately. Repeat this step going up through the Pitch offset one by one, until all of your tracks are mapped.

You should now have a MIDI mapping that looks like this:

That’s it! Now you can twist your knob, and easily select a BPM you know is going to work. You can obviously add many more BPM values for much more fine grained control, but I think the usefulness of this hack is to easily know where your BPM is at at any time based on the position of your physical knob. This works especially well with a controller like an APC40, which shows you with LEDs the value of each knob right on the controller. No more looking at a tiny number on your laptop screen! Yay!

One caveat though: NEVER enter MIDI mapping mode with your BPM dummy clip playing, or it will map that note to whatever you select, immediately. It can really mess things up if you’re not careful, but that’s why we have an undo button and backups. (Right? You do keep backups, yes?)

It’s a bit of a hack, but it works. If there is enough interest / confusion around this, I may do a video explaining it more thoroughly.