Wii Guitar Hero World Tour Drums to Midi

From Field of Cows

Playing Guitar Hero World Tour has made me think I'm a drumming god. Therefore, I need a drumkit that I can use away from the shackles of the Wii.

How about using the Wii drums as a MIDI controller for a drum synth?

Here's how it's done...

Image:drums-wii.jpg

Contents

Background

The Wiimote is a bluetooth device. This means it's quite easy to talk to. Many people have done all the hard work and got it connected to a computer. They've even been kind enough to produce libraries that can be used to make the programmer's job easier.

I chose CWiid as it seemed to be fairly complete and easy to use. You can find out about the library at [1] (although the site seemed to be down on 06/01/10).

I tend to use Linux machines at home so my requirements were to build an application that allowed a Wiimote embedded in the drum to be connected to Linux and to convert drum hits to appropriate General MIDI drum commands.

I wanted to keep it as simple as possible and not spend too much time on the project so I basically pieced together the application from various samples and existing code.

Requirements

As I mentioned before, the interface to the Wiimote is via the CWiid library. In it's current form as of January 2010 the library does not directly support the Guitar Hero World Tour controllers so requires the library to be patched. I've created a patch which you can find below.

I used the excellent JACK library for providing the MIDI interface.

Building

  • Download the CWiid library. My patch applies to the library as it was on 06/01/10 so you might want to check-out this explicitly.
git clone git://github.com/abstrakraft/cwiid

(You may need to install git using, for example, the following command on Ubuntu)

sudo apt-get install git
  • Download my patch here
  • Apply the patch with the following command
patch blah
  • Build CWiid with the following commands
cd cwiid
./configure
./make
./make install
  • Download the wiidrums source here
  • Build with the following commands (you will need CMake installed)
cmake ./
make

Using wiidrums

  • Start wiidrums with the following command
./wiidrums
  • Press 1 and 2 together on your wiimote
  • Start drumming!

I used hydrogen as my drum synth. You may need to map the Jack MIDI port to hydrogen using the JACK control panel.

Navigation