On Friday evening while mulling over potentially interesting hacks to build at Open Hack London I remembered an idea I’d had a while ago: there are now loads of interesting ways to use iphones as music interfaces and the iphone to hacker ratio at hack days tends to be around 1, so you could probably put together an entire iPhone orchestra.
With only a few hours left before heading to London I started rummaging around on the internet to find the bits I needed. I’d looked at the various iPhone music interface apps over Christmas and ITM MidiLab had been the easiest to use, but although I could start up multiple iTouchMidi servers listening on different ports, I couldn’t send the output of the servers to different MIDI ports, making it impossible to distinguish between multiple iPhones.
Next I looked at the OSC based iPhone apps: OSCemote, TouchOSC and mrmr. Of these, mrmr was the easy choice as it is free as in beer and speech, allowing me to extend it if needed. It also allows custom interface design via scripting allowing for potentially interesting UI hacking at open hack. OSC is also an open standard, so as a last resort I’d be able to build a server that could listen to multiple devices.
With the client settled on I started looking at existing software to run on my laptop to convert OSC data in to MIDI to control Ableton. The first thing I looked at was pd, an incredibly powerful data processing environment that can understand OSC and generate MIDI. As well as being incredibly powerful, pd also has an incredibly steep learning curve and time was running out, so despite having used it in the past and wanting to use open source software for my hack, I eventually gave up on pd and tried OSCulator.
OSCulator is incredibly easy to use. Within minutes I had multiple OSC servers listening on different ports, my iPhone had connected to each of them and I’d set up mappings from dozens of OSC inputs to MIDI controllers. OSCulator also supports up to 8 Wiimotes connected via bluetooth, so I chucked a couple of wiimotes my bag, tested the iPhone could connect to an Ad Hoc WiFi network created on my MacBook Pro, threw a Dr Who MIDI file in to Ableton and then got some sleep.
After booking a slot for the non-existant iPhone orchestra during the hack demos, I set out to make it exist. With a combination of arm twisting and volunteering I convinced 8 plucky hackers to join the orchestra then spent a few hours auditioning synth patches in Ableton and assiging MIDI controllers to their parameters and tweaking iPhone accelerometer smoothing settings in OSCulator to get a couple of Wiimotes working as drums.
I managed to organise an hour’s rehearsal on Saturday afternoon where we spent the first half trying to connect all of the devices and the second huddled around the laptop trying to hear the audio from the built in speakers. After a bit more tweaking I set up a 3rd Wiimote to launch loops and start and stop the set, allowing me to get in on the fun while conducting and borrowed an amp for our second and final rehearsal.
The performance was a hoot. We’d been having trouble getting all of the devices to connect to OSCulator at the same time and Simon Willison’s iPhone refused to connect for the final performance, which freed him up to concentrate on hamming it up with a look of intense concentration. I also managed to completely lose track of where we were in the music, so Jon Markwell’s haunting theremin solo section ended up following an embarrasing silence when his part wasn’t actually playing. All in all though, I think we did pretty well and it went down a storm with the assembled geeks.
Many thanks to Ryan Alexander, Jonathan Markwell, Natalie Downe, Nigel Crawley, Matt Jarvis, Simon Willison and Matthew Smith for indulging me once again at hack day — it was loads of fun. There are more videos and photos of the performance in my delicious stream.