AKAI MPK mini play and USB HID data

When using my AKAI MPK mini play the other day I realized i might want to transpose/switch midi clock etc. from a physical device. Since i’ve never done something like this before I emailed AKAI customer service requesting information on what messages the AKAI MPK play wants in order to do this in real time. The transpose/midi clock feature is usually accessed through the AKAI software “Favorite editor”. While waiting for some sort of answer from AKAI i’ll be trying to emulate the MPK play with an Arduino to see how hack-proof the MPK play is.


Information regarding the MPK play USB device:

Device descriptor: 
Descriptor Length:    12
Descriptor type:    01
USB version:        0200
Device class:        00
Device Subclass:    00
Device Protocol:    00
Max.packet size:    40
Vendor  ID:        09E8
Product ID:        0044
Revision ID:        0200
Mfg.string index:    01
Prod.string index:    02
Serial number index:    03
Number of conf.:    01

Configuration descriptor:
Total length:        0076
Num.intf:        03
Conf.value:        01
Conf.string:        00
Attr.:            80
Max.pwr:        FA

Interface descriptor:
Intf.number:        00
Alt.:            00
Endpoints:        02
Intf. Class:        03
Intf. Subclass:        00
Intf. Protocol:        00
Intf.string:        00

HID Descriptor:
HID Class Release:    0111
Country Code:        00
Numb Class Descriptor:    01
Descriptor Type:    REPORT DESCRIPTOR
CSize Report Descr:    0034

Endpoint descriptor:
Endpoint address:    IN        01
Attr.:            INTERRUPT    03
Max.pkt size:        0020
Polling interval:    01

Endpoint descriptor:
Endpoint address:    OUT        01
Attr.:            INTERRUPT    03
Max.pkt size:        0020
Polling interval:    01

Interface descriptor:
Intf.number:        01
Alt.:            00
Endpoints:        00
Intf. Class:        01
Intf. Subclass:        01
Intf. Protocol:        00
Intf.string:        00
Unknown descriptor:
Length:        09
Type:        24
Contents:    010001090001020904

Interface descriptor:
Intf.number:        02
Alt.:            00
Endpoints:        02
Intf. Class:        01
Intf. Subclass:        03
Intf. Protocol:        00
Intf.string:        00

Unknown descriptor:
Length:        07
Type:        24
Contents:    01000132000624

Unknown descriptor:
Length:        06
Type:        24
Contents:    020101000924

Unknown descriptor:
Length:        09
Type:        24
Contents:    030102010101000905

Endpoint descriptor:
Endpoint address:    OUT        02
Attr.:            BULK    02
Max.pkt size:        0020
Polling interval:    00
Unknown descriptor:
Length:        05
Type:        25
Contents:    0101010905

Endpoint descriptor:
Endpoint address:    IN        02
Attr.:            BULK    02
Max.pkt size:        0020
Polling interval:    00
Unknown descriptor:
Length:        05
Type:        25
Contents:    0101028281


Addr:1(0.0.1)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.