My lovely friends at IBM bought me a lovely leaving present: a copy of Rock Band for the Xbox 360. I’ve been enjoying it greatly, and have been working my way through a solo guitar career as well as in band mode with my wife (our band is called Good Girl OK after the praise/release phrases we use when training her our dog. Good girl, good girl… OK).
Tonight I decided it was time to take advantage of the USB connections on those instruments and get the guitar, drums and keyboard hooked up to GarageBand.
My first exploration involved
- An Xbox controller driver for the Mac (donationware, requires a restart)
- ControllerMate (free trial, well worth the $15 registration to unlock it).
GarageBand (and similar things. I really like Reaper) has a number of interfaces for people hoping to glue together random peripherals. Perhaps the simplest if the ‘musical typing’ on screen keyboard feature which lets you use your qwerty keyboard as a virtual instrument.
I started playing with ControllerMate to make it emulate keyboard events based on the guitar controls. There’s a lot of fun to be had in fiddling with this, and Ken’s post on the ControllerMate forums got me most of the way there very quickly.
Holding the green button (e.g. the first fret) and strumming up or down creates an emulated ‘a’ keypress, which is held until the green button is released. Additional up/down strums while green is still held do what you’d expect. Expand it to all five buttons and I ended up with something like this.
Look carefully and you’ll see that it also includes whammy bar mapped to the six levels of modulation and left and right buttons mapped to octave up/down.
In short, ControllerMate is a lot of fun. It also looks as though it’s pretty trivial to hook it up to a Wiimote too. This got me thinking about alternative approaches, particularly something better than emulated keypresses and on screen keyboards and ‘musical typing’.
I’ve talked about MIDI, and it’s trendier younger brother OSC, here before. Since these items showing up in ControllerMate, (including Wiimotes via Bluetooth and Guitar Hero / Rock Band instruments via USB) are all HID (Human Interface Device) peripherals, it struck me that I’d been meaning to find a general purpose HID -> MIDI/OSC solution for some time. The closest thing on Windows is probably GlovePIE, but even before my switch to Mac I’d been leery of the licence, which states that “You may not use this software on military bases, or for military purposes, or in Israel…”. Eek.
Looks interesting, and I like the free demo very much (reduced functionality and stops working after 20 minutes, but gives you a chance to try it). The full version costs €75 though, and I was sure I could find something similar in less than €75 worth of looking around time.
It turns out I was right. Hint: if I can buy your cool tool for $15 using PayPal (as was the case with ControllerMate) I will generally have registered for it before I can blink. Attempt to charge too much, and I get curious as to whether there’s something cheaper/free. I can’t be alone in this behaviour.
Not a bad trade-off at all. I have not tried the OSC support yet, and support for MIDI notes is broken very strange and unconventional, but support for MIDI control messages is good and will no doubt prove useful.
It gets better though. Registered users of ControllerMate should check the ControllerMate forums. There’s a beta preview version which can send and receive MIDI messages. Awesome. I think I’ve found my new favourite thing.
Update: I’ve now got a fairly good setup in ControllerMate. Here’s a description (with demo video) which describes how it works.