The other day, I was on #monome talking with some of my fellow monome-ists about portable setups. I’d really like to be able to plug in a lightweight touchscreen device to my monome, like an Android phone or tablet, optionally a USB audio interface, and perform with that setup. Minimal equipment, with the added benefit of being able to run TouchOSC as well as other applications on the touchscreen device.
Why not just a laptop? Good question. A laptop doesn’t require any porting of the software you’re already using, and it probably already has a software/kernel stack better-tuned for realtime performance. Moving to a single touchscreen-based setup might be beneficial for reducing the number of physical devices you need. If you only use TouchOSC or FingerPlayMIDI as controllers for your monome, then an additional laptop is kind of a pain to lug around and setup. Of course, TouchOSC and FingerPlayMIDI don’t do anything on their own. You’d need to be able to connect them to a noisemaking app already on your Android device; the server and client would have to be on the same device. Even if you don’t use either of those apps, being able to connect audio interfaces or other physical devices to your Android tablet via USB host mode is pretty handy. It offers new possibilities for live performance. You could use physical controllers and synths just like you already do with a laptop, or you could go with an all-in-one approach. Plop down your tablet, plug in your monome, start your PureData apps, run TouchOSC to connect to them, launch your monome performance patch, and start playing.
Controlling the monome would require running applications that are built for Android, but there’s already a port for PureData on Android. Most Linux-compatible monome applications are written in PD, so that’s a good start. Apps like rove are written in C, which seems like it’d be a good candidate for porting to Android. All you’d need is some kind of JACK implementation for Android, so that rove can connect to it. Rove itself would need to have a wrapper GUI so that you can easily launch it from your device, maybe also choose which setlists to perform. From there, just make sure you’ve copied your samples onto the SD card, then start playing.
All that wishful thinking relies on the Android device having working USB host mode, though, so that it can use connected USB devices as peripherals. That capability has been limited to a number of kernel hacks for about 3 different phones; it’s almost impossible to get running.
Today, Google released USB host mode functionality, along with SDKs and documentation, for Android 2.3.4 and 3.1 devices. This is a big first step — I’ll be watching further developments very closely. I want to know just what all I can do with my Android phone, and what can be done with tablets in the future. I’m very interested in alternative platforms and controllers for music-making, which is why I picked up a monome in the first place.