It's a MIDI keyboard controller with a ton of programmable knobs, it comes with some editor software to edit these knobs with up to 12 presets on it, downloadable on M-Audio's website, only available on Windows and MacOS. Here we try to reverse engineer that preset editor software…
There's 4 ports available:
Dir Device Name IO hw:x,0,0 Code 61 USB MIDI IO hw:x,0,1 Code 61 MIDI DIN IO hw:x,0,2 Code 61 Mackie/HUI IO hw:x,0,3 Code 61 Editor
The last one in particular is used by the preset editor.
SysEx messages generally have the following format:
| Start | f0 |
| Manufacturer ID | 7e (non real-time) or 00 01 05 (M-Audio) |
| Device ID | 7f (all devices) |
| … | |
| End | f7 |
⇒ sent to keyboard
⇐ reply from keyboard
On Linux, try amidi -p hw:x,0,3 -S '<message>' -d
⇒ f0 00 01 05 7f 31 06 6d 00 01 01 f7
The LCD says SYS for a second
⇒ f0 7e 7f 06 01 f7
⇐ f0 7e 7f 06 02 00 01 05 31 06 31 30 34 34 f7
⇒ f0 00 01 05 7f 31 06 62 nn f7
where nn is a preset number between 01 and 0c, or 00 for RAM
⇐ f0 00 01 05 7f 31 06 63 0a 3b nn [xx xx xx xx xx xx] … f7
xx is a 6-byte ASCII preset name
⇒ f0 00 01 05 7f 31 06 61 0a 3b nn [xx xx xx xx xx xx] … f7