Rocking Outside the Xbox

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

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.

GarageBand Musical Typing

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.

ControllerMate - Rock Band guitar

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.

ControllerMate - Rock Band guitar (full)

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.

Searching around, I found junXion which maps HID inputs to MIDI and OSC outputs on a Mac. Just what I wanted. Instant MIDI drums.


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.

I dug around for about 10 minutes before I found MultiControl by Alexander Refsum Jensenius. This maps HID devices to OSC and MIDI outputs and doesn’t cost a penny.


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.

8 replies on “Rocking Outside the Xbox”

  1. “band mode with my wife (our band is called Good Girl OK after the praise/release phrases we use when training her. Good girl, good girl… OK).”

    You trained your wife with praise-release phrases?! :)

  2. Hi Roo,

    How is the midi thing working with ControllerMate? I have been using MultiControl, but it is not very flexible and has zero technical support. I guess CM is just $15, so not a big investment, but just wondering if it sends controller data, etc efficiently…


  3. The MIDI-enabled beta of ControllerMate, available (fairly well hidden) via the forum, has some additional output blocks, which – as you’d expect – work nicely with the rest of the ControllerMate sources and outputs. The additional output blocks are

    • note out (which allows you pick to pick the channel, velocity, etc, and send a note based on on/off events)
    • variable note out (takes variable values for velocity value, note value and play on/off)
    • note aftertouch and variable note aftertouch
    • program change
    • channel pressure
    • pitch wheel

    and there are some additional input blocks too, letting you handle MIDI events generated elsewhere

    • MIDI note (respond to MIDI note messages)
    • note velocity
    • MIDI controller (responds to controller values)
    • aftertouch
    • program change
    • channel pressure
    • pitch wheel

    Altogether, a pretty complete and powerful tool to integrate with existing MIDI systems, in both directions. It’s easy enough to use, once you get your head around ControllerMate.

    Bear in mind it’s just a beta, but it works well for me so far, and I’d pay $15 for ControllerMate even without the MIDI version.

  4. Hey Roo,
    how exactly did you get MultiControl working – i cant seem to get it to work with midi correctly. Any help would be appreciated.

  5. Hi Roo –

    I’ve only recently discovered controllermate and am also enjoying it’s flexibility….

    another option that is working well and is lightweight is using osculator with a command line utility called oscjoy – it takes a connected joystick and sends out osc messages for each button and all axes.

    It can be a bit tricky to find, because most searches lead to a page whose download link is broken. You can find it here, though:


Comments are closed.