How to : make mpd 24 knobs into encoders
Hello everyone, and sorry for the delay on this tutorial !
First a little rant
!
When the akai mpd 24 was revealed i was really hyped about it, mpc style pads, faders, and knobs, and all that for a really attractive price.
Now, maybe my brain is playing tricks on me because it has been that long, but i remember akai advertising the knobs as infinite controllers, great, well that was until reality came along, those were infinite knobs, but not encoders, so you get the worst mix of features. That sucked !
And it sucked until i read a post on abletonās forum of someone that managed to pull THE trick for all mpd owners, infinite encoders!
Thanks to akatraz that found it on bomeās forum, and thanks to dexter that made it possible !
http://www.bome.com/forums/viewtopic.php?f=3&t=2818
The only problem is that all this (dexterās post) seemed completly chinese to me, and he was aiming at implementing other stuff in his bomeās code. Only some weeks ago i had another go at it, and made it to work. So here it comes :
So as found sniffing in the vysex software by dexter, the mpd doesnt only sends midi info, it communicates with the vysex editor by using sysex code ( wich is another type of messages used by controlers and midi capable synthesizers, drum machines, etcā¦
He found that by sending a specific sysex to the mpd, the mpd would then send the sysex alongside the regular midi information (something the mpd would only previously do with vysex software).
And each button, fader, knob, would send a different sysex, yes, even the ānon midi-ableā ones. But only one sysex each, not one for āupā and another for ādownā, the best part, in the case of the knobs, they continue to send the sysex even when the midi data reach the extremes ( 0 - 127 ).
And because the infinite knobs pick up at the last sent midi value ( meaning if you turn it to the right to reach 127, and then continue to turn it right, it keeps at 127, but at the moment you turn left, it is already decreasing from 127 towards 0 ), Dexter was able to devise a code in bomeās to create a new message, a blend between the sysex and the original midi. Thus creating an encoder out of it!
First download this ( itās a pack with all the needed software and the project files, the software is free, minus bomeās, so itās the demo i included, all for mac, but the same type of software exist for free for windows also ) :
[ame=āhttp://www.megaupload.com/?d=EN9T1ORMā]MEGAUPLOAD - The leading online storage and file delivery service[/ame]
The first thing you need to instal is sysexlibrarian, a free tool that allows you to send sysex messages to connected devices, in sysexlibrarian, select your mpd 24 in the top topdown menu, then click on āaddā on the bottom left corner and select the sysexdumptest.syx in the āfilesā folder you downloaded.
Click play, if you now want to check if it worked, open the midimonitor app included, select the mpd 24 in midi source, and move a knob on your mpd, you will see it displaying the name of the midi command, and an akai sysex command 10 bytes.
Install bomeās then click on open a project file, select the bomeās project named akaiproject.bmtp and load it. Check to see that you are using the right midi input ( akai mpd 24 ) and that you are outputing from bomeās, if everything is set, open traktor, create a new midi map, with bomeās as the midi input, and try it for yourself ![]()
A few more things, the mpd doesnt have a memory for the sysex, meaning every time you disconnect it, you need to re-send the sysex.
I only managed to make sense of the bomeās code thru trial and error, iām no coder, and iām sure you can make the code more simple (maybe).
Bomeās is something around 60 eur. but it is well invested if you like to do midi mappings and stuff, because the only solution regarding the knobs on the akai mpd 24 is buying some normal ones ( 2.5k resistance), if you want encoders this is the solution.
Using bomeās you can then create modifiers using the sysex sent by the banks button, or the preview button, using the banks buttons, it creates 32 encoders (8 per banks) for your tweaking pleasure.
I put some screenshots in the zip file to guide you along if you need to, but itās pretty straight forward.
Iām using preset default 17, midi chanel 1A on the mpd.
I believe there is a similar sysex code for the others mpd (32 / 26).
Enjoy !