Before posting, please read: When to use this forum, when to submit a help ticket

USB MIDI on Android

Started by arlo, November 25, 2014, 11:33:25 AM

Previous topic - Next topic


In the Android version of Set List Maker and BandHelper, MIDI over RTP (wi-fi) is relatively easy to set up, but MIDI over USB is trickier. Here are some things I've learned while testing this functionality:

  • Android devices can only use USB MIDI interfaces (hardware) that are "USB class-compliant," which means they don't require drivers. Also, your Android device needs to support "USB host mode," and you will need a USB OTG cable to connect your interface to your Android device. Finally, while the USB MIDI interface should receive power from your device, my interface works better when it has an additional source of power, so I am using a Y-shaped OTG connector that includes attachments for the tablet, the MIDI interface and a USB charging cable.
  • Starting in version 1.1, Set List Maker and BandHelper include a MIDI Status window that appears when you tap the MIDI icon in the top toolbar. This window shows a list of connected ports, a list of recent events (connections/disconnections and MIDI data sent/received) and a button to manually turn the MIDI engine on and off. You can use this to help with the next two steps.
  • Getting Android to recognize your USB MIDI interface can be difficult. When an app tries to use MIDI, Android should prompt you to allow the app to access the hardware (see screen shot). In my apps, that won't happen until you use one of the MIDI functions, or turn on the MIDI engine manually from the MIDI Status window. If your interface is not connected and this prompt doesn't appear, you can go to the Settings app and tap Apps, then the app name, then Force Close, then go back to the app and try again. If the interface still doesn't connect, you can unplug the MIDI interface from your tablet, then force quit the app, then plug in the MIDI interface, then launch the app and try again.
  • Once your MIDI interface is connected and appears in the MIDI Status window, you can try sending MIDI from Set List Maker or BandHelper. Whenever you send MIDI from these apps, the MIDI icon in the top toolbar will blink, and the messages will appear in the Event Log in the MIDI Status window. If you do not see the icon blinking and the messages do not appear in the log, then something is missing in your app setup. You can use the Sending MIDI tutorial to check your setup. If you still need help, you can tap Help > Request Tech Support in the app and include the specific steps you are taking to send MIDI data.

Feel free to post questions or additional tips below.


I just did some more testing with this and noticed two things:

  • If you use your MIDI interface in Set List Maker, then disconnect and reconnect it, Android might not prompt you to use the interface again. But if you stop and restart Set List Maker's MIDI engine, by tapping the MIDI icon in the top toolbar and then toggling the MIDI Running / MIDI Stopped button, Android should prompt you to use the MIDI interface again.
  • When I had the MIDI Commander app installed, I often had trouble accessing the MIDI interface, because MIDI Commander was taking control of it as soon as I connected it. I uninstalled MIDI Commander and now Set List Maker can access the MIDI interface reliably.


I had a generic, $10 MIDI interface from Amazon that worked with the old Android 4-5 MIDI framework, but not the new Android 6+ framework. I ordered one of these still affordable but name-brand interfaces and it works with both:

This is a similar product that I don't own, but it has been recommended by other users as a reliable choice:

And here's the Y cable that lets you use USB and connect a charger at the same time:


Set List Maker 2.2 and BandHelper 2.2, released today, can use the native Android MIDI framework on Android 6 and above. This should offer smoother connections to USB MIDI interfaces, and offers Bluetooth MIDI on Android for the first time. However, it removes support for RTP (wi-fi) MIDI.

The new framework is not enabled by default, but you can go to Help > Utilities and turn off Use Old MIDI Framework to try it.