View Full Version : Gamepad to Midi on Mac OS X

11-29-2010, 11:32 PM
Hello, if anyone is interested in using a joystick or gamepad to send midi I written a how to on my blog at http://d-bitblog.blogspot.com/2010/11/gamepad-to-midi-on-mac-os-x.html.

Visit the blog (no ads) for descriptive pictures.
Here's the main text:

Mac OS X (Tested on 10.6.5)
MultiControl (free)
OSCulator Recommended price is 29 €, minimum is 14 € Customer chooses

My digital piano doesn't have a modulation wheel or pitch bend wheel.

Option 1 was to get a small midi controller keyboard however placement would be very awkward.

Option 2 A gamepad, a Thrustmaster Dual Analog 3 has two analog joysticks and is USB HID compliant therefore requires no drivers and via MultiControl -> OSCulator could send the appropriate midi messages.

Multicontrol is free and receives the gamepad data and converts it to midi or osc. However the parameters for midi output need to be tweaked for modulation wheel emulation as otherwise the joystick in neutral sends midi value 64 for modulation (so all notes played are modulated somewhat even though the stick is not being pushed) whereas 0 in neutral centered position is required and 127 at the extreme. MultiControl doesn't have this level of control therefore OSCulator is required.

MultiControl v0.4 can be downloaded http://folk.uio.no/alexanje/software/multicontrol/MultiControl_v0.4.zip


I bought OSCulator because I can control software with my iPod Touch running Touch OSC which sends to Osculator which does the rest. OSCulator is very versatile.

Editing MultiControl parameters are a bit tricky you click and hold in a box and either type in a number or move your pointer to change the numbers.

The modulation and pitch bending work well within Logic and Garageband with no setup required within either program as in OSCulator the left analog joystick on y axis is set up to send MIDI CC on control number 1 which is standard for modulation and the right analog joystick on y axis sends MIDI note pitch bend.

On my gamepad the left analog joystick in the y direction is named c13. I split (Main Menu>Edit>Split) this message so that I could have two separate messages, one from neutral 0 to up 127 and the other from neutral 0 to down 127 instead of top 0 to neutral centre 64 and bottom 127. The settings I've provided are specific to the Thrustmaster gamepad however in general the method will should work with other USB HID compliant devices.

11-30-2010, 12:42 AM
Nice article and contribution, thanks!