This script adds a number of Ableton control functions for the Akai MPK261. Ableton is a fantastic software suite, and the Akai MP261 is an excellent keyboard. But the default MPK261 control in Ableton is lacking - it could do so much more!
To use effectively, a few defaults need to be changed in the MPK261 configuration.
This is based on the LiveLite default preset. Recommend creating a copy of this preset and editing that in the MPK261 config.
- Edit the Pads in banks B, C, and D Note Mode to use Toggle instead of Momentary.
Momentary turns on the button while it is pressed and turns it off when it is released.
Toggle turns the button on when pressed, then turns the button off when it is pressed a second time. To edit:
- Click the Edit button on the MPK261
- Click the correct Bank, then touch the Pad. The MPK261 display should show "Pad#" at the top.
- Click the right arrow 2 times to go to Pg3. The MPK261 display should show "Node Mode"
- Turn the knob to select "Toggle"
- Repeat for all the pads on banks B, C, and D. Touch the pad
- Edit the S1-S8 buttons for Control banks B & C to use Toggle instead of Momentary.
- Click the Edit button on the MPK261
- Click the correct Bank, then touch the S button (example: S1). The MPK261 display should show "Switch#" at the top. Bank 2 switch 1 = Switch09, etc.
- Click the right arrow and down to go to Mode.
- Turn the knob to select "Toggle" from "Momentary"
- Repeat for all the switch buttons in control banks B & C.
- Bank A - unchanged (drum pads)
- Bank B (all pads) & C (top 3 pads) is Clip Launch for Sessions 1-7 (up/down) and Clips 1-4 (left/right).
- Bank C bottom pad is Clip Stop for Clips 1-4 (left/right)
- Bank D pads on the right-hand side (starting row 3 going down - pads 15, 11, 7, 3, 16, 12, 8) is Scene Launch 1-7
- Control Bank A - Unchanged (pan left/right)
- Control Bank B - Ableton Control "Blue Hand"
- Control Bank C - Unchanged (Unassigned), open for custom bindings
- Control Bank A - Unchanged (Volume)
- Control Bank B - Unchanged (Unassigned), open for custom bindings
- Control Bank C - Unchanged (Unassigned), open for custom bindings
- Control Bank A - Unchanged (Select + Arm for recording)
- Control Bank B - Mute. When light is on, track is unmuted. When light off, track is muted.
- Control Bank C Note - sometimes it appears these buttons take 2 presses. Not clear why yet.
- C S1 - Metronome
- C S2 - Tap for tempo
- C S3 - Record with quantization
- C S4 - Overdub on/off
- C S5 - S8 - Unassigned, open for custom bindings
- Use the Ableton installation instructions for Installing third-party remote scripts which provides the directories and the general process.
- Download the python files into a new directory, "MPK261Custom" under your "User Library" folder while Ableton is stopped. You may have to create the "User Library" directory. See the step above for how to do that and where it goes.
- Start Ableton. THe first time Ableton runs - and any time there is a change to a py file - it will compile the .py files into .pyc.
- Under the preferences->Midi, choose MPK261Custom in the Control Surface.
On the Mac, Ableton writes logs to: /Users/{username}/Library/Preferences/Ableton/Live {version}/Log.txt
Python errors & other issues will be reported there.
For reference, here are the MPK261 MIDI button / CC mappings used in the MPK261 preset "LiveLite" and is what this is based on.
Description | Label on keyboard | MIDI CC | Comments |
---|---|---|---|
Slider | F1 | 12 | values 0-127, "channel" is "control bank" |
Slider | F2 | 13 | values 0-127, "channel" is "control bank" |
Slider | F3 | 14 | values 0-127, "channel" is "control bank" |
Slider | F4 | 15 | values 0-127, "channel" is "control bank" |
Slider | F5 | 16 | values 0-127, "channel" is "control bank" |
Slider | F6 | 17 | values 0-127, "channel" is "control bank" |
Slider | F7 | 18 | values 0-127, "channel" is "control bank" |
Slider | F8 | 19 | values 0-127, "channel" is "control bank" |
Knob | K1 | 22 | values 0-127, "channel" is "control bank" |
Knob | K2 | 23 | values 0-127, "channel" is "control bank" |
Knob | K3 | 24 | values 0-127, "channel" is "control bank" |
Knob | K4 | 25 | values 0-127, "channel" is "control bank" |
Knob | K5 | 26 | values 0-127, "channel" is "control bank" |
Knob | K6 | 27 | values 0-127, "channel" is "control bank" |
Knob | K7 | 28 | values 0-127, "channel" is "control bank" |
Knob | K8 | 29 | values 0-127, "channel" is "control bank" |
Button | S1 | 32 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S2 | 33 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S3 | 34 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S4 | 35 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S5 | 36 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S6 | 37 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S7 | 38 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | S8 | 39 | value 127 when pressed, 0 when released, channel is "control bank" |
Button | Rewind | 115 | 127 when pressed, channel always 1 |
Button | FastForward | 116 | 127 when pressed, channel always 1 |
Button | Stop | 117 | 127 when pressed, channel always 1. When pressed repeatedly sends a "note off" for all notes. |
Button | Play | 118 | 127 when pressed, channel always 1 |
Button | Record | 119 | 127 when pressed, channel always 1 |
Button | Loop | 114 | 127 when pressed, channel always 1 |
Keyboard | Keys | Top 2 notes (B & C on physical keyboard, regardless of which octave) - always Channel 2 | |
Keyboard | Keys | C-2 (lowest) to C8 (highest). Channel 1 (except for top two notes) | |
Pad | Pad 1 | 60 | Bank A -> Channel 2; Bank B->Channel 3; Bank C -> Channel4; Bank D -> Channel5. Keyboard always Channel 1. Octave doesn't change. Note, not CC. Note: D3 |
Pad | Pad 2 | 62 | Note (not CC): D3 |
Pad | Pad 3 | 64 | Note (not CC): E3 |
Pad | Pad 4 | 64 | Note (not CC): F3 |
Pad | Pad 5 (2nd row up) | 67 | Note (not CC): G3 |
Pad | Pad 6 | 69 | Note (not CC): A3 |
Pad | Pad 7 | 71 | Note (not CC): B3 |
Pad | Pad 8 | 72 | Note (not CC): C4 |
Pad | Pad 9 (3rd row up) | 74 | Note (not CC): D4 |
Pad | Pad 10 | 76 | Note (not CC): E4 |
Pad | Pad 11 | 77 | Note (not CC): F4 |
Pad | Pad 12 | 79 | Note (not CC): G4 |
Pad | Pad 13 (4th row up, left) | 81 | Note (not CC): A4 |
Pad | Pad 14 | 83 | Note (not CC): B4 |
Pad | Pad 15 | 84 | Note (not CC): C5 |
Pad | Pad 16 | 86 | Note (not CC): D5 |
Pitch Wheel | From -8192 to 8192. Sends on both Channel 1 and Channel 2. | ||
Modulator (next to pitch wheel) | 1 | From 0 to 127 (middle is approx 63)) | |
Sustain Pedal | 64 | 127 when pressed, 0 when released |
Steve Padgett / ableton@wreck.net
This is a work in progress, feel free to fork / send patches / etc.