View Full Version : Wiimote, MIDI channels, and Ableton

07-08-2009, 04:37 PM
Hi, Im having a couple of problems setting up my wiimote with ableton. So far I have OSCulator reading my remote, and ableton reading OSCulator, however the problem I keep running into is assigning certain buttons/motions to certain controlls. Im assuming this has something to do with MIDI channels (which I have a very vague understanding of). Right now I have the remote working only so that any button pressed, or any motion will trigger any assigned MIDI mappings. What step am I missing?


07-09-2009, 12:10 AM

You think of a MIDI CC as a jack that carries a value to a destination. A MIDI CC has an identification number (from 0 to 127), meaning you can have 128 different jacks connecting things together. And then, the channels are just a way to differentiate two MIDI CC that have the same number. That means MIDI CC 7 on channel 1 is a different "jack" than MIDI CC 7 on channel 2. In the end you can have 128*16 (=2048) different "jacks".

From your message, what I understand is that you are using the same CC number for each buttons/control of the Wiimote. If you want them to perform different actions, you need to use different CC numbers, or channels. It's easier to start with different CC numbers, since you really need to use different channels on specific circumstances. For example, that is the case when you are using multiple (hardware) synthesizers. One synth will listen to CC on one channel, and anther synth will listen to another channel.

The same analogy can be done for many software running on the same computer. You will choose to use for example Live on channel 1 and Reason on channel 2, then map you controllers to the adequate MIDI CC numbers.

What you need to do is to choose different MIDI CC numbers for each buttons/controls, and then map them individually to something in Live, using the MIDI Map Mode. Live will learn the assignment from the control that is changing.

However, there something special with the Wiimote: when you assign a MIDI CC to an accelerometer, the MIDI data will be sent continuously (since the sensor value is always changing). That can be confusing because Live will always receive that value before you can map another one. To get around this problem, you need to stop to send the accelerometer MIDI data for a moment, make Live learn the new controller, and then restore the accelerometer.

There is an easy way to do that in OSCulator, by using the "Solo" feature (Routing menu -> Solo). The procedure is: for each controller you want to learn in Live, make is solo, activate MIDI Map Mode in Live, choose a parameter to control, change the controller value to activate the assignment, and leave MIDI Map Mode. Then Solo another control in OSCulator, and repeat the procedure again for each controls.

I hope this will help you to assign your remote's controls to Live.



07-11-2009, 11:02 PM
thank you, you explained everything perfectly.

Another couple questions, what would be the best approach for using the controller as a theromine?

Also, is it possible to assign commands by pressing 2 buttons down at a time (for instance, is it possible to press A while moving the remote in a certain direction to have a different outcome then what is assigned to A and moving the remote)

07-13-2009, 09:19 AM

the best way to use the controller as a theremin would be to send MIDI CC to a (virtual) synth that supports to change its pitch with control changes.

There is a small video of someone playing the star trek theme wig a wiimote and a small moog synth.

As for your second question, OSCulaor doesn't support the possibilty to create some kind of logic between the controls; thus the answer is no, but if you were usig some kind of higher level language software ala Processing or Max/MSP you could then customize your setup even further.