This is an old revision of the document!
Just like for USB audio, eXtream Software Development has written a driver to use class-compliant USB MIDI interfaces. This also includes MIDI ports on a USB audio interface and some keyboards that have a direct USB MIDI output. Using a MIDI input, one could record MIDI events on a MIDI track and/or play virtual instruments. Using a MIDI output, one can drive synthesizers, drum computers, effect processors and more.
In order to use USB MIDI, the following items are required
Note: on some Android devices, usually the cheaper ones or from lesser known brands, it is possible that your USB audio interface with MIDI ports can be used for MIDI, but not for audio. Some Android devices do not support the isochronous USB transfer mode in their kernel that is required for playing and recording audio. However, MIDI uses the 'bulk' transfer mode which often is supported. This situation can be recognized when your USB audio device is recognized as audio device, but playing audio gives complete silence and sometimes the time indicator does not move.
When using a USB MIDI keyboard to play virtual instruments live, it is required to have either a USB audio interface with both inputs and outputs, or one of a few Android devices that have reasonably low latency.
Here is a list of known Android devices that can be used to play virtual instruments from a USB MIDI keyboard without a USB audio interface. Note that MIDI files or any existing MIDI tracks can always be played through virtual instruments since they are 'rendered' ahead of time and latency is no issue. This list is only applicable when playing a virtual instrument 'live', such as you would play a hardware synthesizer. These Android devices have one combination of sample rate and buffer size that trigger an 'optimal' mode where latency is minimal. Set the audio system selection in the app's preferences to OpenSLES and the OpenSLES buffer size to 'Native buffer size'. After leaving the preferences, the app will show you which sample rate is 'optimal'.
There are probably more models out there, so please let us know when you find one that can be used for real-time playing of virtual instruments, so we can add to this list.
Note: to set the sample rate, please press the Project button and scroll up/down to Options. Note that you cannot change the sample rate once an audio file is present.
The following USB MIDI interfaces are known to be class-compliant and hence compatible:
The following USB MIDI keyboards are known to be class-compliant and hence compatible:
Compatible digital pianos:
The following devices are NOT compatible:
We'd appreciate it if you contact us at info AT audio-evolution.com and let us know which of your USB MIDI interfaces/devices work or not. If your device is not listed here, it doesn't mean it is incompatible, it is just that we do not know yet, so please let us know!