A REAPER Lua script that turns the Akai MPK Mini MK3 into an intelligent, multi-bank MIDI controller surface — one script, no external dependencies, launched from a toolbar button.
- REAPER 6.0 or later
- Akai MPK Mini MK3
- Windows (install.bat targets Windows paths)
- Double-click install.bat.
It copiesMPKMiniMapper.luato
C:\Users\<you>\AppData\Roaming\REAPER\Scripts\.
- Copy
Scripts\MPKMiniMapper.luato your REAPER Scripts folder:
C:\Users\<you>\AppData\Roaming\REAPER\Scripts\
- Open REAPER → Actions → Show Action List.
- Click New Action → Load ReaScript…
- Navigate to the Scripts folder and select
MPKMiniMapper.lua. - The action will appear as
Script: MPKMiniMapper.lua.
- Right-click any REAPER toolbar → Customize toolbar…
- Find
Script: MPKMiniMapper.luain the action list and drag it onto the toolbar. - Press the toolbar button to launch the script (and open the window).
The script expects Bank A to be configured in Prog Select mode:
- On the MPK Mini MK3, hold PROG CHANGE and press PAD BANK A to enter Prog Select mode.
- Pads will now send Program Change messages 1–8 on MIDI channel 1.
- Knobs should already send CC 70–77 by default — the script verifies this on first use via MIDI Learn if needed.
Bank B is completely free; you can configure it however you like outside of this script.
Press the toolbar button to open the floating window. The script runs silently in the background even when the window is closed — bank switching and knob control continue working.
Press the button again to re-open the window. The window remembers which mode it was in when last closed.
Shows only what you need at a glance:
- Current bank name and color
- Selected track name
- All 8 knob labels (K1–K8) with inactive knobs dimmed
- Dashboard and Setup navigation buttons
Adds interactivity without getting in the way:
- 8 colored bank indicator dots — filled if a matching plugin is on the track, empty if not
- Hover over any knob label to reveal a subtle ↺ Reset button
- Scrub Sensitivity slider for the playhead scrub knob (K5)
- Mini and Setup navigation buttons
Complete control surface editor:
- MIDI Learn panel — visual MPK Mini layout; touch any knob on hardware to highlight it; assign CC numbers
- Parameter Assignment panel — dropdown of all plugin parameters; min/max range; reset button
- Pad Mapping panel — keyboard note picker and friendly pad labels (shared between Bank 1 and Bank 8)
- Plugin Library — scrollable list of every plugin the script has seen; click a row to cycle its confirmed category
- Preset panel — save and load
MPKMiniMapper_config.jsonalongside your project
All banks follow the currently selected track in REAPER. Switching tracks updates every bank instantly. Change banks by pressing Pads 1–8 on the hardware (Bank A, Prog Select mode).
| Pad | Bank | Color |
|---|---|---|
| 1 | Follow Selected Track | Blue |
| 2 | Reverb | Purple |
| 3 | Delay | Teal |
| 4 | Pan | Orange |
| 5 | EQ | Green |
| 6 | Distortion | Red |
| 7 | Modulation | Yellow |
| 8 | Drums | White |
| Knob | Parameter | Notes |
|---|---|---|
| K1 | Track Volume | Resets to 0 dB |
| K2 | Track Pan | Resets to center |
| K3 | Track Pitch | –12 to +12 semitones; resets to 0 |
| K4 | High Pass Freq | Delegates to first EQ plugin on track |
| K5 | Playhead Scrub | Relative mode; no reset button |
| K6 | Reverb Wet | First reverb plugin on track |
| K7 | Delay Wet | First delay plugin on track |
| K8 | Low Pass Freq | Delegates to first EQ plugin on track |
K6 and K7 go silently inactive when no matching plugin is on the track.
Each bank scans the selected track's FX chain for the first plugin of that type (Reverb, Delay, Pan, EQ, Distortion, Modulation). Knobs 1–8 are fully assignable via dropdown in Setup mode.
First time a new plugin is encountered:
- The script scans all exposed parameters.
- It pre-selects the most likely parameters based on built-in keyword lists.
- You confirm or reassign each knob in Setup mode — changes are never auto-applied.
- The mapping is saved permanently; you will not be prompted again unless you edit it.
- Pads are remapped to any MIDI note via the Setup pad mapping panel.
- Knobs target individual drum part volumes (Kick, Snare, Hi-Hat, etc.) — matched by keyword.
- Drum pad profiles are shared between Bank 1 and Bank 8 — configure once, works in both.
When the script first sees a plugin it has not seen before:
- It checks the plugin name against a built-in lookup table (common plugins listed for each category).
- If no name match, it analyses the plugin's parameter names for category keywords.
- The best guess is shown in the Plugin Library as Unconfirmed.
- Open Setup → Plugin Library and click a row to cycle its confirmed category.
Once confirmed, the plugin is permanently remembered in your project config.
- Open a REAPER project.
- Press the MPKMiniMapper toolbar button.
- Switch to Setup mode.
- In the MIDI Learn section, touch each knob on the hardware to auto-assign its CC number.
- Add some plugins to a track. Select the track — the script scans automatically.
- Check the Plugin Library at the bottom; click any Unconfirmed entry to set its category.
- With Bank 2 (Reverb) active, select a knob in the hardware layout to open its Parameter Assignment panel; choose the parameter from the dropdown.
- When everything looks right, click Save in the Preset panel.
The config file is saved next to your .RPP project file so your setup travels with the project.
- File:
MPKMiniMapper_config.json - Location: Same folder as the current REAPER project
.RPPfile - Auto-loaded when REAPER opens a project
- Save / Load buttons in Setup → Preset panel
The config stores: CC assignments, active bank, all plugin profiles, the plugin library, drum pad maps, scrub sensitivity, and last-used window mode.
| Context | What resets | Default |
|---|---|---|
| K1 (Bank 1) | REAPER track volume | 0 dB |
| K2 (Bank 1) | REAPER track pan | Center |
| K3 (Bank 1) | REAPER track pitch | 0 semitones |
| K4 / K8 (Bank 1) | EQ high/low-pass freq | Min / Max freq |
| K5 (Bank 1) | No reset button | — |
| K6–K7 (Bank 1) | Plugin exposed default | Plugin default |
| Banks 2–7 | Plugin exposed default | Plugin default |
| Bank 8 knobs | Plugin exposed default | Plugin default |
| Bank 8 pads | No reset button | — |
In Dashboard mode, hover any active knob label to reveal a reset button.
In Setup mode, an explicit reset button appears in the Parameter Assignment panel.