MIDI Input to Android sequencer

1,315 views
Skip to first unread message

hamx0r

unread,
May 5, 2010, 6:55:24 PM5/5/10
to Android Music Developers
Hi All,

I'm stoked to find this group! I'm interested in seeing Android
devices serve as useful sequencers for creating midi music beyond
looping. The current sequencers like uloops (http://uloops.net) have
pretty snazzy input and sound, but only allow for a set of loops to be
created then strung together. What i'd like to see is a MIDI recorder
that would play a click track, and accept input from, say, a MIDI
keyboard. This way, when on the road, a musician can capture basic
musical ideas, export them to MIDI files, and import them to their
"real" rig at the studio for better sound processing. The idea isn't
to have a full workstation on a phone, but just something that can lay
a few (4? 8?) MIDI tracks and call it a day.

Also, it would be cool to use MIDI input to control an Android synth,
like Synthulator (http://www.synthulator.com/). This would allow for
a MIDI controller to be part of a portable MIDI instrument (MIDI
controllers don't all make sound...they just send MIDI data. Using an
Android device to be a portable tone generator would be rad!)

In both of these ideas, there's a need to get MIDI data from a, say,
keyboard to the Android device. Several options are present:
1) USB OTG (on the go) - for Android devices (such as Droid) that can
be set in host (OTG) mode, one could plug in a MIDI keyboard right to
the device
2) WiFi - use MIDI over TCP/IP (already developed:
http://openmuse.org/transport/mip_compare.html)
3) Bluetooth - no bluetooth MIDI yet developed that I know of

My vote is #1. With both of the wireless options, there's the "power
problem". Many portable USB MIDI devices (Akai, Korg Nano series,
etc) are bus powered, so without a USB connection, users will have to
use a battery pack, etc. Also, since these MIDI controllers are made
for USB, they'd also need a hardware doo-dad to recognize the keyboard
and convert it's signals to either WiFi or Bluetooth. Ouch. Lot of
work and complexity. Not to mention a greater threat of latency
problems

With the USB OTG option, the main problem is that many (most?) Android
phones don't have hardware support for USB OTG (I've emailed HTC about
the Nexus One...haven't heard back yet).

Looking forward, I'd expect to see more USB OTG-capable phones, but
not more (any?) wifi/bluetooth MIDI controllers. So, if designing
for longevity, USB seems to win again.

Any thoughts? Am I underrating a wireless option?

Jason

hamx0r

unread,
May 5, 2010, 6:58:18 PM5/5/10
to Android Music Developers
Oh, one more thing: Akai has the SynthStation which uses an iPhone/
iPod Touch for exactly this!
http://www.akaipro.com/synthstation25

That opens the door to another solution: figure out the interaction
from the iPhone and keyboard, then replicate it on Android. Given the
difference of connectors on an iPhone and Android devices, this may
not be feasible. but the idea is brilliant!

Jason

Peter Kirn

unread,
May 5, 2010, 7:08:21 PM5/5/10
to Android Music Developers
Interesting. I was assuming I'd have to use a hacked firmware to do
MIDI at all. Nice reference on the cable here:
http://www.tombom.co.uk/blog/?p=124

The other thing I was going to try was using the hacked firmware to do
straight serial for a MIDI DIN cable. So that's option #4.

I think that MIDI sequencing apps for Android should logically support
all four options. ;) OSC-over-Bluetooth probably makes the most sense
for the Bluetooth side, though.

You're correct; MIDI over Bluetooth has never gone beyond software
implementations or prototypes.
http://xmidi.com/bluetooth.html

Peter

Alex

unread,
May 6, 2010, 2:19:13 AM5/6/10
to Android Music Developers
I've been looking at building my own Bluetooth keyboard controller
lately, the RFCOMM/SPP protocol is very much suited to MIDI so it
worries me that no-one's done it yet- what haven't I noticed yet? If
I can get my prototype working in the next three weeks I'll bring it
to DroidCamp and look smug. If not, well, I'm still cutting my
Bluetooth teeth...

Interesting stuff about USB-OTG. If it's working on the Hero I'd be
very surprised if it's not also in the Nexus 1. I'll take a bet on it
not being in my Magic though, which is pretty much a G1 internally.
The next problem would be writing a userland driver for something like
the MidiMan (I think it needs a particular kernel module to run under
linux). Still, very cool if we can get it!

This is another place where Android could do some revolutionary
stuff. Imagine a sequencer that can connect up to arbitrary
controllers and arbitrary audio generators, via an open set of intents
and cross-platform APIs. Of course, we need some devices to connect
up first though :)

Alex

On May 6, 12:08 am, Peter Kirn <peterk...@gmail.com> wrote:
> Interesting. I was assuming I'd have to use a hacked firmware to do
> MIDI at all. Nice reference on the cable here:http://www.tombom.co.uk/blog/?p=124
>
> The other thing I was going to try was using the hacked firmware to do
> straight serial for a MIDI DIN cable. So that's option #4.
>
> I think that MIDI sequencing apps for Android should logically support
> all four options. ;) OSC-over-Bluetooth probably makes the most sense
> for the Bluetooth side, though.
>
> You're correct; MIDI over Bluetooth has never gone beyond software
> implementations or prototypes.http://xmidi.com/bluetooth.html

hamx0r

unread,
May 7, 2010, 12:22:58 AM5/7/10
to Android Music Developers
Hi Alex,

What Bluetooth dev kit are you using?

I just looked up DroidCamp. I'm jealous. Are you flying there from
the UK? I have no excuse as I live in California.

I had another idea today about this topic: even if a phone doesn't
support USB OTG, and even if folks like us develop a wireless MIDI
before an Android USB OTG solution, the USB port might still be able
to be used to power the MIDI device and it's Bluetooth/wifi dongle.
Anyone know if there' s diode or the like in the charging circuitry of
most phones? Like, can you read 5V between the two power pins of the
mini/micro USB port on a phone and will it allow a draw of a few mA?

It does seem sill to have a wire, only to go wireless for the data,
but it does allow using with non-OTG phones, and opens the door for
other power sources to the MIDI device (battery, wall socket).

Also, I had the best luck with that M-audio driver too for USB MIDI
under linux... I didn't think it required a kernel recompile though.
It does seem like it was part of the whole ALSA setup. Does Android
use ALSA at this point?

Jason

Alex

unread,
May 7, 2010, 3:58:42 AM5/7/10
to Android Music Developers
So far I have a bluesmirf board, a PIC, a belkin dongle, and this
handy guide:

http://blog.blackwhale.at/2009/08/android-bluetooth-on-steroids-with-the-ndk-and-bluez/

I'm a bit of a hardware hacker, but I have no experience debugging
bluetooth so it's a steep learning curve!

alex

hamx0r

unread,
May 7, 2010, 5:00:59 PM5/7/10
to Android Music Developers
Wow you're right about the Hero in your earlier post!
http://adq.livejournal.com/95689.html . Looking at later posts in the
same livejournal show the magic/g1 working as well. Hopefully the N1
might share the same good luck!

It seems that power is still a problem, though. I haven't found
anyone who's used the phone battery to power an external devices. If
that's not possible at the hardware level, then using a battery-
powered USB hub might enter the mix as an off-the-shell component.
This opens up the following question: would we be better off with a
bluetooth MIDI device (a single deivce that plugs into the USB-B (or
miniUSB) port of a MIDI device, powers that MIDI device via the USB
port, and then transmits a homebrewed Bloomidi (i just made that up)
signal that works across a serial connection (which is what RFCOMM is
all about, right?) to the Android device for processing. Oooorrrrr,
would we be better off with a generic Blusb (also just made that up)
device that also plugs into and powers a USB device (MIDI included)
and then on the Android side appears as a virtual USB host port?
Catch my drift? With this second idea, the same Blusb device would
allow all kinds of USB devices to work on any Android Bluetooth-
enabled phone (with the right drivers of course).

btw, i'm a EE by schooling, but do software at work. I know enough to
be dangerous in both areas, but am a "master of none". I really would
like to collaborate to make this happen though!

Thoughts?
Jason

On May 7, 12:58 am, Alex <goo...@glastonbridge.co.uk> wrote:
> So far I have a bluesmirf board, a PIC, a belkin dongle, and this
> handy guide:
>
> http://blog.blackwhale.at/2009/08/android-bluetooth-on-steroids-with-...

Dean Johnston

unread,
Jan 24, 2015, 6:59:47 AM1/24/15
to android-musi...@googlegroups.com
Ecstatic to find this group, and i thank you all in advance!
So this is where im at involving your topic!
I have found plans for a MIDI HID via Bluetooth "Laser printed MIDI guitar" posted to Adafruit©!
https://learn.adafruit.com/ez-key-wireless-midi-controller-guitar?view=all

This plan uses an Adafruit© Bluefruit© Bluetooth HID transmitter designed to function as a wireless keyboard or mouse connection.
The plans specify that you have to reconfigure and rename a few of the Bleufruits© key connections. I.e.; the arrow and enter keys must be renamed as a letter designation to be read properly as a Midi note or "CC".

The end result will be true Bluetooth MIDI info transfer! Or as close as I have found in actual use!

My next issue is finding a working Android MIDI app To recieve this Bluetooth input!

I have ordered parts and supplies through ebay, though i do plan to try getting my Bluefruit© to read peizo triggers as key strokes, but that is a post to a different forum!
Any suggestions or direction on my project or locating the correct application for my Asus Transformer TF700, would begreatly appreciated!


Thank you for your time!
Dean
Reply all
Reply to author
Forward
0 new messages