It speaks MIDI, and I've previously abused it in other ways (e.g. with MidiKey2Key)
But for direct playing of notes, you want a more musical layout.
Acting as a translator (USB-midi to the pad, and as of this writing serial MIDI on the other end) lets us create a isometric keyboard layout, and add features we can think of, such as a step sequencer.
Pictured is an Arduino with a USB 2.0 Host shield.
And because USB-MIDI is part of the protocol, the USB part of the code is not particularly scary.
The code is duct tape between:
- Arduino MIDI library so that it can easily put out serial MIDI (on 5-pin DIN)
- my also uses the USB MIDI library though this seems to have been merged into the host shield code in current versions.