How to : make mpd 24 knobs into encoders

Home :: Reviews of DJ equipment :: How to : make mpd 24 knobs into encodersReply
How to : make mpd 24 knobs into encoders
Posted on: 18.08.2011 by Bertie Metro
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 community of someone that managed to pull THE trick for all mpd owners, infinite encoders!

http://community .ableton.com/viewtopic.p...sysex#p1159490

Thanks to akatraz that found it on bome's community , and thanks to dexter that made it possible !

http://www.bome.com/community s/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 !
Bertie Metro
18.08.2011
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 community of someone that managed to pull THE trick for all mpd owners, infinite encoders!

http://community .ableton.com/viewtopic.p...sysex#p1159490

Thanks to akatraz that found it on bome's community , and thanks to dexter that made it possible !

http://www.bome.com/community s/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 !
Eli Hergonz
19.08.2011
for firmware updates you have to go to this community www.vyzor.com and ask for it and you have to tell them even WHY.
Bertie Metro
19.08.2011
I don't know about those updates ( mpd 32 / 26 ), but i found out about sysexlybrarian when i last updated my 24, because the vysex software was too fast to send the sysex and so i almost bricked my mpd. Some hours after i knew why it wouldn't update and found the sysexlybrarian.
After checking online, akai doesn't provide the firmware updates anymore, and i haven't found anything about encoders for the 32/26, but maybe there is a similar sysex to make it work like above.
Rolanda Clodfelder
19.08.2011
For the price you couldn't go wrong if you need the extra knobs Picked up mine for around $100 S/H boxed with everything, but with one dodgy encoder (easy to replace it)

There really is absolutely nothing in that price range that will give you that much rotary goodness and bang for buck. And the function editing is super ultra easy (keep a recent backup of the sysx though (apparently they "can" lose settings - haven't had it happen yet).

A lil bulky IMHO (could be MUCH flatter), and there is ALOT of extra space in the box, guess they wanted to keep the same build style as the BCD, BCF series, hell if it saves the consumer some $$
Eli Hergonz
19.08.2011
I am buying bcr2000...its final
Rolanda Clodfelder
19.08.2011
Knob yes, but not encoder like the BCR (which I have too :P) .. the only one that can be used for lets say - platter control or pitch bend successfully on the APC is the cue level which is a true encoder.

From my limited knowledge on it, that MPD fix looks like it converts the function of the incremental knobs to act exactly the cue encoder or BCR ones ? Which would allow for much finer control of stuff - longer sweep.

Someone correct me if I'm wrong.
Eli Hergonz
20.08.2011
arent new AKAI firmware for MPD32 and maybe MPD26 supposed to have incremeental knob update?
And I thought that apc40 with led rings have incremental knob?
I am speechless...
Rolanda Clodfelder
20.08.2011
16 x Endless Knobs - but only one Encoder(Cue level).

I have some ideas for use if theres a way to turn them into encoders .
Eli Hergonz
19.08.2011
wait the minute. APC dont have incremental knobs??????????????
Rolanda Clodfelder
19.08.2011
Is there a similar "Fix" for an APC40 - wondering

Much more Possibilites in Traktor if there is.
Eli Hergonz
19.08.2011
I am just fascinated by how easy bomes can manipulate sysx commands.
But I will definitly spent money on used BCR2000(most cheaper used one in USA and ebay.de) plus we have visual output on position on the knobs, more space on the screen for waveforms.
I will try it now.
Bertie Metro
19.08.2011
Here is the exported text :

--------------- Preset testakai


[x] Translator 0: pot1up
Incoming: MIDI F0 47 00 68 41 00 02 00 pp F7
Rules:
if h1==127 then exit rules, skip Outgoing Action
qq=h1
ss=hc+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 00 h0

[x] Translator 1: pot2up
Incoming: MIDI F0 47 00 68 41 00 02 01 pp F7
Rules:
if h2==127 then exit rules, skip Outgoing Action
qq=h2
ss=hd+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 01 h0

[x] Translator 2: pot3up
Incoming: MIDI F0 47 00 68 41 00 02 02 pp F7
Rules:
if h3==127 then exit rules, skip Outgoing Action
qq=h3
ss=hc+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 02 h0

[x] Translator 3: pot4up
Incoming: MIDI F0 47 00 68 41 00 02 03 pp F7
Rules:
if h4==127 then exit rules, skip Outgoing Action
qq=h4
ss=hd+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 03 h0

[x] Translator 4: pot5up
Incoming: MIDI F0 47 00 68 41 00 02 04 pp F7
Rules:
if h5==127 then exit rules, skip Outgoing Action
qq=h5
ss=hc+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 04 h0

[x] Translator 5: pot6up
Incoming: MIDI F0 47 00 68 41 00 02 05 pp F7
Rules:
if h6==127 then exit rules, skip Outgoing Action
qq=h6
ss=hd+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 05 h0

[x] Translator 6: pot7up
Incoming: MIDI F0 47 00 68 41 00 02 06 pp F7
Rules:
if h7==127 then exit rules, skip Outgoing Action
qq=h7
ss=hc+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 06 h0

[x] Translator 7: pot8up
Incoming: MIDI F0 47 00 68 41 00 02 07 pp F7
Rules:
if h8==127 then exit rules, skip Outgoing Action
qq=h8
ss=hd+176
if pp<qq then exit rules, execute Outgoing Action
if pp>=qq then exit rules, skip Outgoing Action
Outgoing: MIDI ss 07 h0

[x] Translator 8: pot1down
Incoming: MIDI F0 47 00 68 41 00 02 00 pp F7
Rules:
if h1==0 then exit rules, skip Outgoing Action
qq=h1
ss=hc+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 00 7f

[x] Translator 9: pot2down
Incoming: MIDI F0 47 00 68 41 00 02 01 pp F7
Rules:
if h2==0 then exit rules, skip Outgoing Action
qq=h2
ss=hd+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 01 7f

[x] Translator 10: pot3down
Incoming: MIDI F0 47 00 68 41 00 02 02 pp F7
Rules:
if h3==0 then exit rules, skip Outgoing Action
qq=h3
ss=hc+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 02 7f

[x] Translator 11: pot4down
Incoming: MIDI F0 47 00 68 41 00 02 03 pp F7
Rules:
if h4==0 then exit rules, skip Outgoing Action
qq=h4
ss=hd+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 03 7f

[x] Translator 12: pot5down
Incoming: MIDI F0 47 00 68 41 00 02 04 pp F7
Rules:
if h5==0 then exit rules, skip Outgoing Action
qq=h5
ss=hc+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 04 7f

[x] Translator 13: pot6down
Incoming: MIDI F0 47 00 68 41 00 02 05 pp F7
Rules:
if h6==0 then exit rules, skip Outgoing Action
qq=h6
ss=hd+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 05 7f

[x] Translator 14: pot7down
Incoming: MIDI F0 47 00 68 41 00 02 06 pp F7
Rules:
if h7==0 then exit rules, skip Outgoing Action
qq=h7
ss=hc+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 06 7f

[x] Translator 15: pot8down
Incoming: MIDI F0 47 00 68 41 00 02 07 pp F7
Rules:
if h8==0 then exit rules, skip Outgoing Action
qq=h8
ss=hd+176
if pp<=qq then exit rules, skip Outgoing Action
if pp>qq then exit rules, execute Outgoing Action
Outgoing: MIDI ss 07 7f

[x] Translator 16: general sens
Incoming: MIDI F0 47 00 68 41 00 02 xx qq F7
Rules:
if xx>7 then exit rules, skip Outgoing Action
if xx==0 then h1=qq
if xx==1 then h2=qq
if xx==2 then h3=qq
if xx==3 then h4=qq
if xx==4 then h5=qq
if xx==5 then h6=qq
if xx==6 then h7=qq
if xx==7 then h8=qq
Outgoing: (none)
Bertie Metro
19.08.2011
I will try and copy paste the code, or save it differently, i don't know if its because i'm using the demo version or something. I didn't make up my mind yet as wether i buy bome's and use the knobs as encoders, or buy some real finite knobs and use these. But the control you get with the encoders is quite smooth, which is a real plus.
Eli Hergonz
18.08.2011
I have error when opening bomes file on windows.


ERROR:
Wrong string format


I opened your bomes file in notepad and try to make some sense from it but cant intupt that in bomes(first time using it). So maybe some tutorial for only one knob or try to save that bomes somehow different.

If only Pure Data can read SYSX massages , on windows, everything will be free

And AKAI didnt lie it is infinite encoder but for SYSX not MIDI!!!
Eli Hergonz
18.08.2011
In Windows for sending SYSex file we can use VYZEX MPD24 program, or midiox program.
Eli Hergonz
18.08.2011
finally
thank you in advance(havent read it)

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy