MIDI controller with keyboard
- 25 semi-weighted keys, velocity-sensitive and with aftertouch
- 2 wheels for pitch and modulation
- 8 pads, velocity-sensitive and with aftertouch,
virtual 32 pads, divided into 4 banks
- 4 buttons and 8 endless rotary encoders,
virtual 12 buttons/24 knobs divided into 3 banks
- 6 buttons for transport control
- Arpeggio
- 2x Octave shift
- 30 storage slots to save settings,
24 of them are preset with settings for various software
- Connection via USB (4 virtual ports) and/or 5-pin MIDI
- Jacks for expression and sustain pedal
- USB bus powered or via mains adapter or power bank
- On/off switch
- Dimensions: 48.9cm x 29.8cm x 9.2cm; 2.76kg
25 keys may not be enough for some people, but I also have a Nord Stage 2 88 here (so I have enough keys) and was explicitly looking for something small and mobile enough that I could pick it up on the couch to make some music or take it with me without too much effort when travelling. And that’s exactly what it’s good for.
I am pleasantly surprised by the quality of the device. It makes a stable impression, the potis feel high-quality, buttons and pads are easy to play and the configuration seems logical and simple while being versatile and flexible.
The manual is sufficient and detailed for most things, but not quite complete.
The description of the SysEx functions, for example, is unfortunately very rudimentary; it only describes that there is a menu item with which you can transfer all or a single preset via MIDI SysEx. There is no indication of what you can do with it, whether and how you can play it back (you can), let alone an indication that SysEx is only transmitted on the 4th of the logical USB MIDI ports (and not via 5-pin). A complete SysEx documentation is unfortunately also missing as well as a one for the sysex file format.
As far as the 24 included presets are concerned, various well-known and less well-known names are represented here. Of course, once again no representative from the Linux / Open Source world. But that doesn’t hurt. Ardour, for example, already includes a map for the MPK225 that works on the basis of the Bitwig (#6) preset. For further modifications, I copied the Bitwig preset to 25 and took the opportunity to rename it to Ardour.
Now you will very quickly get annoyed by having to switch to preset 6 (Bitwig), let alone 25, every time you switch on. By default, preset 1 (Ableton) is loaded first. But there’s a workaround: copy preset 1 (Live Lite) to #26 and #25 (Ardour) to #1 and it will be loaded right after switching on.
The potis on #6 are set to Inc/Dec2 mode by default and therefore output 0 or 127 depending on the direction of rotation. I have changed this to CC so that I can approach the values between 0 and 127 accordingly. It also works better with software such as Surge XT.
If you don’t want to lose anything, you can also simply save all 24 presets individually via SysEx and thus have all 30 slots available in the MPK225. The number in the computer is only limited by the available memory anyways.
By the way: the size of a preset is 1555 bytes (approx. 1.5kB).
The transport buttons offer the usual functions Play, Stop, Record, <<, >> and additionally Loop. Ardour can be easily controlled from the MPK225.
I have also included the loop button in the supplied map for Ardour and adapted the function assignments of the << and >> buttons from FRW and FFW to start and end, as this is more in line with my requirements.
As I’m using Linux, here are a few useful tools that are helpful in everyday life with the MPK225:
A MIDI monitor is useful for quickly checking which MIDI parameters a particular controller is sending. I start the tool of my choice, briefly operate the controller, see directly what it is sending and now know what I need to set in the software. With aseqdump (part of alsa-utils), I initially use aseqdump -l
to display the available MIDI ports and then use -p
to run it with the desired port, in this case MPK225. Alternatively, I connect the hardware MIDI port to the software MIDI input of e.g. midisnoop via drag and drop (use i.e. qjackctl or qpwgraph), start the recording and the operation and have the same result. More eye candy, but also slower.
* aseqdump -p MPK225
(CLI)
* midisnoop
(GUI)
As even the easy check via aseqdump quickly became too time-consuming for me, I took the trouble to start aseqdump once, operated all the keys, pads, buttons and potis across all the available banks once and then simply projected the results onto a photo of the MPK225.
Just a quick look at the PDF and you’re good to go.
The simplesysexxer
has proven useful for handling the presets. It can be used to receive, save and send SysEx dumps.
Per default a sent preset is saved to the slot it came from originally as it is stored to the syx file.
If you want to change that before transfer, you’ll have to use a hex editor of your choice.
As of now Akai seems to refuse to support their customers, right after they have paid for the product.
No information on SysEx, except repeating the 2-3 sentences from the manual (for now).
Not even about how to restore SysEx files saved according to the manual…
Please beware, I will not be responsible if you fry your device somehow by wrongly editing the syx file or maybe even by wrong information on this page. If you edit a syx file by hand with a hex editor, I assume you know what you’re going to do!
Ok, let’s see what I have for now:
A SysEx file is always enclosed by F0 (byte 0x00) and F7 (last byte).
The next two bytes (bytes 0x01-0x02) designate the manufacturer code which in our case means 47 00 (Akai).
Following the manufacturer code we’ll find the device code (byte 0x03): 23 for the MPK225 (24 for MPK249 and 25 for MPK261)
The storage slot is saved in the 8th byte (byte 0x07): 1-30 possible storage slots converted to hex means choose between 01-1e.
The next 8 bytes contain the preset name in ASCII.
That’s it for now.
If I’ll find out more, I will update the article.
Additional links:
https://practicalusage.com/akai-mpk261-mpk2-series-controlling-the-controller-with-sysex/
https://practicalusage.com/akai-mpk261-one-more-thing/
https://github.com/nsmith-/mpk2