Improved Akai MPK Reason Codec

I like the Akai MPK61 keyboard but was disappointed that the endless rotary controls would only put out absolute position messages that Reason could understand. There is a "relative" setting that could be used, but it puts out a message type which Reason doesn't handle. Similarly, the switches put out absolute on/off messages rather than "I've been pressed" so change your state message.  The bottom line is that when you switch the device that the encoders and switches are mapped to, there is a difference between the parameters in the device and where the controller thinks the parameter is. Moving a control can cause a big jump in value, or a switch press sometimes won't do anything and the LED on/off indicator on the switch may not match the setting on the device.

To correct these problems, I modified the Reason Remote Codec for the Akai MPK61 to handle this.  If you want to know more about Remote Codecs I sugguest you check out this article on the Propellerhead website.  You don't need to understand everything in the article in order to use this, however!

You will need to create a new preset on the MPK and change the settings for the Knobs and Switches.  I've provided two files below (in the Support Files ZIP) with a modified preset which you can use if you use the Akai editor or have the ability to dump a SysEx file to the MPK.  If you don't you can use the front panel controls - see the manual for the MPK to learn how to do this. The preset files will load into Preset #20 on the MPK. 

If you can't or choose not to use one of the preset files below, Here's what you need to change on the MPK.  Save/Copy the default Reason preset #2 into an empty slot, I used #20 - I suggest naming it ReasonEX. Load it, and then make the following changes to each control banks A,B,C

Knobs: All knobs should be set to Midi Channel 1A. Set the type to Inc/DecNRPN. Set the MSB to 20.  Then set the LSB of Knob 1 to 0, Knob 2 to 1, etc all the way up to Knob 24 to 23.  Note that you will have to go into bank B to set knobs 9-16 and bank C for 17-24. (The MPK25 only has two banks A&B of 12 knobs each.)

Switches: Keep the switches the same, except change all play modes from toggle (TGL) to  momentary (MOM.)  Be aware that switch 7&8, 15&16 and 23-24 are already set to momentary and don't need to be changed. (However, on the MPK25 the settings need to be change.  SW1 should be Midi Channel 1A, CC21, Momentary; SW2 1A CC22; ..., SW5 1A CC25, SW6 1A CC26, SW7 1A CC27, SW8 1A CC28 to match the programming of the larger controllers.)

Save the preset, and double check that the changes were correctly made.

Now, go grab the ZIP file below of the map and codec and install them in their proper place. This is the base folder/directory for various OSs:

Macintosh HD/Library/Application Support/Propellerhead Software/Remote

Windows Vista/Windows 7
C:/Program Data/Propellerhead Software/Remote

Windows XP
C:/Documents and Settings/All Users/Application Data/Propellerhead Software/Remote

Underneath this folder, place the two codec files in Codecs/Lua Codecs/Akai, and the map in Maps/Akai.

The new device is called Akai MPK61EX and should be auto detected.  Just be sure to disable the normal Akai MPK61 because only one MPK61 should be enabled at a time.I think this will also work for the MPK88, although it will not be auto-detected. You will need to add a device manually and then select MPK61EX under the Akai heading.  

(Feb 20, 2013) - Many thanks to meowsqueak from the Propellerhead User Forum (check out his blog at who created a preset for the MPK49 and tested the Codec with that controller. So now there is also support for the MPK49. One thing he noted was the auto-detection works however it does detect both the normal MPK49 and the MPK49EX. Simply disable the normal one and then the EX became active (green tick). His preset for the MPK49 has been added to Thanks again meowsqueek!

(May 13, 2013) - Many thanks to Stefan (rabu42) from the Propellerhead User Forum who created a preset for the MPK25, modified the Remote Map and tested and helped debug the Codec with that controller. Reason autodetects two keyboards and the user should disable "Akai MPK25", enable "Akai MPK25EX" and make this the master keyboard. Thanks Stefan!

It's possilble this could also be adapted for some of the non-keyboard Akai MPD Drum Pad controllers too. I don't have anything besides the MPK61 to test with so feel free to modify if you're interested.  Be sure to drop a comment to let me know how you're using this.