USB MIDI Driver

Additional

Language
Java
Version
v0.1.4 (Dec 15, 2015)
Created
Apr 13, 2012
Updated
Dec 10, 2017 (Retired)
Owner
Kaoru Shoji (kshoji)
Contributors
Kaoru Shoji (kshoji)
willardvandelft
victordiaz
mmichler
akapelrud
motiz88
6
Activity
Badge
Generate
Download
Source code
APK file

Advertisement

Android USB MIDI Driver

USB MIDI Driver using Android USB Host API

  • No root privilege needed.
  • Supports the standard USB MIDI devices; like sequencers, or instruments.
  • Supports some non-standard USB MIDI (but protocol is compatible with USB MIDI) devices.
    • YAMAHA, Roland, MOTU, or other makers' devices listed on device_filter.xml can be connected.
  • Supports multiple device connections.
  • Has javax.sound.midi compatible classes.

Requirement

  • Android : OS version 3.1(API Level 12) or higher, and have an USB host port.
    • The android Linux kernel must support USB MIDI devices. Some Android device recognizes only USB-HID and USB-MSD by kernel configurations.
  • USB MIDI (compatible) device

the optional thing:

  • The self powered USB hub (if want to connect multiple USB MIDI devices).
  • USB OTG cable (if the Android device has no standard USB-A port).
  • USB MIDI <--> Lagacy MIDI(MIDI 1.0) converter cable (if want to connect with legacy MIDI instruments).

Repository Overview

  • Library Project : MIDIDriver

    • The driver for connecting an USB MIDI device.
  • Sample Project : MIDIDriverSample

    • The sample implementation of the synthesizer / MIDI event logger.
    • Pre-compiled sample project is available on Google Play Market.

Library Project Usages

See the project wiki for the library usages.

FAQ

  • What is the 'cable' argument of "onMidi..." or "sendMidi..." method?
    • A single USB MIDI endpoint has multiple "virtual MIDI cables". It's used for increasing the midi channels. The cable number's range is 0 to 15.
  • The application doesn't detect the device even if the USB MIDI device connected.

License

Apache License, Version 2.0