Akai MPK mini plus driver

I just wanted to check first if someone is already working on or thinking about supporting the MPK mini plus. After seeing oscaracena’s great work for the mini mk3 I want it for the mini plus that I own. I can probably get this done relatively quickly (if I find the time between job and family :smiley: ) based on his code. Here’s hoping that Akai didn’t implement SysEx etc completely differently on those devices.

https://www.akaipro.com/mpk-mini-plus

3 Likes

I have an MPK mini plus and was also thinking it would be great to add support for that based on oscaracena’s mini mk3 work. Unfortunately, I haven’t been able to make time to get over the initial learning curve and don’t expect to be able to do so any time soon. I should however be able to make time to help out with testing if you get there first.

2 Likes

I’m actually struggling a bit to get started with reverse engineering the required SysEx messages. I assume it’s fairly similar to the other Akai devices already supported in Zynthian but I’m not sure how to get those messages or values (such as product ID) the easiest. MIDI-OX doesn’t seem to have anything to sniff those messages. I guess ideally I would use the Akai software to talk to it and then somehow sniff the messages since that is essentially doing the same thing as what we want to do from within Zynthian?

cc @oscaracena

Hi!

Does the MPK mini plus has some kind of utility to be configured? In that case, you just need to sniff the raw communication between your PC and the controller. I think this can be done with Wireshark or similar tools, but I’m not sure, as the RE was already done for the MPK mini.

I don’t have a mini plus, so I can not be of much help here :face_exhaling:

Thanks for the tip with wireshark, I didn’t realize it can capture USB. That’s perfect! I got the comms between the Akai app and the MPK and extracted the product ID from the SysEx so I should be able to make progress on this now.

2 Likes

I too have an Akai Professional MPK mini plus and would very much like to us this with the Zynthian V5.1. As I am a relative newcomer to this, any help would be very much appreciated!

Hi, what is the status of this? Just bought this setup as well.

Thanx in advance.
Arthur

I have to admit that I haven’t really made any progress on this because I wasn’t really using it in this mode. At the moment I’m rebuilding my Zynthian based on the Zynthian Mini so unlikely to spend much time on this. Apart from capturing a bit of USB comms using wireshark I haven’t really managed to code anything. I think a bit obstacle for me at the moment is getting started with coding on Zynthian, or having a module for the Akai MPK mini plus … once that’s in place, adding code and debugging it would be a easy to do when there is some free time available.

I could attach the pcap file if someone is interested but to be honest, I don’t even really know anymore what I was doing while capturing the traffic :slight_smile: (maybe it was just the init sequence between the kernel/driver and Akai MPK, or maybe I was adjusting controls …)

I would be interested in the pcap file, if it’s not too much trouble, please attach here. No promises-commitments, but we might as well get it while you have it.

This may be something y’all already know, but just in case not, you can use the Akai MPK mini plus without a driver by using “midi learn” (see the wiki). Of course it would be ever so much nicer if somebody wrote a controller-driver.

It would also be nice if Akai provided a manual for the mini plus and-or the MPK225 which would be equivalent to “APC Key 25 mk2 - Communication Protocol - v1.1 (422.56 kB)” but sadly, they don’t, and I did ask their support about it, doesn’t look like they will.

I find that the combination of APC Key 25 mk2 with @oscaracena 's driver, and MPK225 with its full size keys but no driver, play very well together.

1 Like

akai-midi-plus.pcapng (12.8 KB)
At 0 seconds it’s probably plugging it in and initialisation. I’m not sure what I did at 10 seconds to cause all the SysEx messages. I’m happy to rerun stuff though, and I guess since you’ve got the device as well you should be able to play around with it and wireshark as well.

Looking at for example

we’d need to change a few IDs and then see if the device can be configured or communicated with. I just found it a bit much at once to start with such a big piece of existing code and I’m not quite sure what the absolute minimum bit of code would be to prove that comms are working.

You may find that the existing driver mostly works. Someone would need to make the device type adjustment then test and observe what isn’t working so that it could be fixed. I really like the idea of abstracting much of this functionality to allow other devices to benefit, but that requires effort that few of us have time to commit to.

1 Like

Yeah, I love that kind of SW engineering work, refactoring etc, but it’s already my day job and finding the time to do it on a volunteer project is unfortunately hard …

This is more momentum on the MPK mini plus driver than ever before though :slight_smile: