Hi everybody.
Ever wanted to have a cheap external MIDI controller that's wireless? Or to play a groovy drum loop in your sequencer without having to set note delays manually? Then the following blog entry may be for you.
Having released the Wiinstrument on Breakpoint '07 in Bingen am Rhein, we decided to share a preliminary version of the software with you.

The Wiinstrument is basically a MIDI instrument that is controlled by a connected Nintendo Wii remote (with a Nunchuk controller, if available). The controller is available separately and can be connected to your computer via Bluetooth.
It features:
- A graphical interface with OpenGL graphics.
- Two modes (with awful puns in their namings! \o/)
- Percussion mode: Smack both controllers to trigger MIDI notes (with velocity recognition)
- Keyboard mode: button presses are mapped directly to MIDI notes. Various scales (chromatic, blues, minor, major) are available so that you're even able to play melodies on it.
- Open Source: It doesn't cost anything and everyone can implement new features!
- It's designed to be portable, so it should be easy to port it onto other platforms like Linux or Windows.

Application examples:
- Record groovy MIDI drum patterns directly in your software sequencer! (using a loopback MIDI device)
- Control your MIDI compatible VJ or lighting setup with it!
- Tape it onto your e-guitar and control your guitar effects hardware by tilting your guitar!
- Use it for whatever you would use a hardware MIDI controller - but cheaper (a Wii remote costs about 40 EUR/USD)—and it's wireless :)
It's currently available for MacOS X 10.4.9—We're already porting it to Linux...
Known Issues:
- The Wii remote may not always be recognized, as it identifies itself as Bluetooth HID device, but doesn't follow the HID specs. Apple's Bluetooth department seems to be working on making the Bluetooth implementation compatible to Wii remotes so that the OSX kernel driver doesn't try to make a concurrent connection to the Wii remote to an application. The result has been announced to be included in Leopard, so stay tuned :)
- If you don't get a connection to the Wii remote when starting the Wiinstrument, don't panic: Just go to your Bluetooth system preferences, remove the connection to "RVL-CNT-01" manually and retry the connection (We're working on a simpler connection procedure...)
- The graphical user interface is preliminary, a better looking one is in development.
- Sometimes the MIDI output lags. We're working on a fix for that.
- Mapping acceleration sensor axes to MIDI control change instruction isn't implemented yet.
- If the application closes unexpectedly, please report it together with the content of your ~/Library/Logs/CrashReporter/The Wiinstrument.crash.log file so we can fix the problem.
Just download it and enjoy.
To connect it to your sequencer/sampler, start Apple's Audio/MIDI Setup tool (you can find it in the Utilities subfolder of your Applications folder), activate the IAC device (Apple's loopback MIDI device) and drag it to the first place of the shown device list. You'll see a new IAC MIDI input device in your sequencer then.
Any comments and reports are appreciated :) If you have a problem that's not addressed in the known issues above, please write us which platform you are working on.
Additional credits go to: survivor/screenfashion for the Gosu library. Hiroaki for the Darwiin Remote framework. Tobias Moebert for porting the application to Linux. The PortMidi and Boost library staff. Rest of the Breakpoint '07 staff for the wonderful party. Bye .o/ [Update on Apr 16, 2007] Linked 0.1.1 (bugfix release).
Comments (67)
Amazing idea - implementation is still pretty sketchy though. I use Reason 3 on an intel mac and can't get connected at all when Reason is running. I haven't been able to make a sound with this yet.... but I'm hopeful.
Posted by Anthony | April 14, 2007 6:05 AM
Posted on April 14, 2007 06:05
Can you connect the Wii remote to it? If not, does the problem only exist when Reason is running or always?
Maybe it helps to connect directly when the program is started, because about 20 secs later DarwiinRemote doesn't sync anymore.
Did you delete all Bluetooth connections to the Wii remote ("RVL-CNT-1") manually in the Bluetooth preferences before trying to connect?
Posted by hypo | April 14, 2007 11:27 AM
Posted on April 14, 2007 11:27
I can't get this to run -- The error was that it could not locate /usr/local/lib/libpng.3.dylib
I installed libpng3 from fink and put a symlink in the location The Wiinstrument wanted, however I now get the error "Incompatible library version: The Wiinstrument requires version 20.0.0 or later, but libpng.3.dylib provides version 3.0.0"
I will try from the sources I suppose, but I wanted to let you know about this.
Posted by John Laur | April 14, 2007 6:42 PM
Posted on April 14, 2007 18:42
Strange that it doesn't work with the fink version.
I have uploaded my version of the lib to fix this until the next release is out.
The next release will have the problem fixed by linking the library statically into the app. I have not run into this bug as all macs that I tested it on seem to have the library already installed...
Thanks for your feedback! :)
hypo / screenfashion
Posted by hypo | April 14, 2007 7:32 PM
Posted on April 14, 2007 19:32
It still doesn't work for me :(
I got the same error like John Laur and after downloading your version of the lib i get this Error message:
Library not loaded: /usr/local/lib/libpng12.0.dylib
and this message seems like an error too :
Referenced from: /Applications/The Wiinstrument.app/Contents/MacOS/The Wiinstrument
Reason: image not found
I got an PPC Mac with 10.4.9
But if this software works on my machine .... YEAH :)
Posted by mayhem | April 16, 2007 4:42 AM
Posted on April 16, 2007 04:42
Hi, this sounds like a MINT idea! but when i download and mount the DMG i try to run your program and nothing.. :| it wont open...
im on mac osX 10.4.9 and when i launch the application it shows in the dock for a slit second then disappears.. i was so happy to find this and now... im sad.. :) please help.. thank you! :)
Posted by Dragonpme | April 16, 2007 8:28 PM
Posted on April 16, 2007 20:28
I coudn't get it working with Reason 3.0.5 (UB) on my Macbook either (10.4.9). It detects my Wiimote only if I launch your app and simultaneously press the red sync button on the wiimote.
It finds my M-Audio Axiom 25 midi interface, so I assume that it will use it to transmit Midi informations. But Reason tells that nothing comes in when I shake my toys.
I'm waiting for upcoming builds !
Posted by willbe | April 16, 2007 10:07 PM
Posted on April 16, 2007 22:07
Thanks for your feedback.
John Laur, mayhem, DragonPME: I've done a new build that includes the missing libraries (sorry, my fault...) and should be a bit faster.
willbe: I don't know if the Axiom 25 is also capable of looping MIDI output back as input, but there is another solution: Just activate your IAC device in Apples Audio/MIDI preferences app and drag it to the front like described in the article. This is a MIDI loopback device that's integrated into OSX. When activated, you should see a new output in the Wiinstrument options (like “IAC Driver Bus 1”, as seen on the first screenshot) and a new corresponding MIDI input device in Reason.
Hope that helps :)
Posted by hypo | April 16, 2007 10:30 PM
Posted on April 16, 2007 22:30
The Version 0.1.1 works fine but its still buggy, maybe it would be a great idea to give the possibility to connect a second Wiimote to bind it on your foot and control the Bassdrum, the first will be the Snare and the Nunchuk will be an Crash or something.
I'm looking forward to see what your Project will become.
Thanks :)
Posted by mayhem | April 16, 2007 11:27 PM
Posted on April 16, 2007 23:27
Hi, sadly it doesen't work for me either. 10.4.9 on an intel mac. The app bounces for a split second in the dock and disappears. Thanks Stefan
Posted by Stefan | April 17, 2007 2:16 AM
Posted on April 17, 2007 02:16
There should be an error message in your system log (you can see it e.g. by opening the Console app). It would be nice if you could copy&paste it here so I can fix the problem :)
Posted by hypo | April 17, 2007 8:27 AM
Posted on April 17, 2007 08:27
Thanks a lot, it works !
I'm pretty impressed by velocity recognition in drum-mode, it works very well with the wiimote, althought less efficient with the nunchuk. It seems that the nunchuk's sensor is cheaper than the one built in the wiimote.
Any chance to use two wiimotes simultaneously ?
Posted by willbe | April 17, 2007 8:30 AM
Posted on April 17, 2007 08:30
According to my information, the Nunchuk controller has the same acceleration sensor chip that's also built into the Wiimote. The Nunchuk acceleration data is even readable with double accuracy (10 bit instead of 9).
I think the problem is rather lying in physics: The Nunchuk has less weight and is therefore more accelerated than the Wii remote when you apply the same force to both controllers. The next release will have a coefficient to balance that.
Posted by hypo | April 17, 2007 8:49 AM
Posted on April 17, 2007 08:49
Hi, the error about Wiinstrument not starting up is: Error: No devices found. Begin pairing...
terminate called after throwing an instance of 'std::runtime_error' what(): Error on line 141
I tried to connect the wiimote to the mac via bluetooth to no avail. It allways says that the pairing was successfull but the wiimote device doesn't show up in the favorites. Only if I try to browse devices - there I have two wiimote entries (tried to pair two different wiimotes). Don't know how to kick them. If I add a wiimote from "browse devices" to the favorites, the only option there is to remove them from favorites - delete is greyed out.
Thanks. Stefan
Posted by Stefan | April 18, 2007 2:55 AM
Posted on April 18, 2007 02:55
Stefan: You don't have to connect the Wii remote manually in the Bluetooth preferences. You have to delete all 'RVL-CNT-01' entries in the list - This is necessary to get the Wii remote connected to DarwiinRemote. The pairing is done in 'The Wiinstrument' itself.
I don't exactly know why your 'delete' button is greyed out - normally all entries in the list should be deletable, even if they're favorites. Can you remove them from favorites and _then_ delete? Or could you make a screenshot?
Anyways, thanks for your comment :)
Posted by hypo | April 18, 2007 7:53 AM
Posted on April 18, 2007 07:53
Hello,
i have a macbook intel coreduo
runing os x 10.4.9.
Wiinstrument launch but no output sound !
the accelerometers works with wiimote and nunck!
Thanks for help
Posted by damson | April 18, 2007 12:06 PM
Posted on April 18, 2007 12:06
The Wiinstrument doesn't output sound, but MIDI. You have to connect it to a MIDI application (e.g. Reason or Logic) to get sound.
Sound output is planned for one of the next releases.
Posted by hypo | April 18, 2007 12:18 PM
Posted on April 18, 2007 12:18
Thanks, Hypo
Is there an application simpler than reason or logic for having sound of wiinstrument because these application are to expert for me !
Thanks
Posted by damson | April 18, 2007 1:25 PM
Posted on April 18, 2007 13:25
You could also use GarageBand with The Wiinstrument. You just have to follow the above instructions to configure a IAC loopback device on your machine and know how to setup MIDI in GarageBand. Maybe you can find someone who has the time to create a little example project? :)
Posted by hypo | April 18, 2007 2:15 PM
Posted on April 18, 2007 14:15
Having the exact same problem and console error as Stefan, when I run the app, it bounces on the dock for a split second then stops and closes.
Running it on an Intel MacBook Pro, OSX 10.4.9
When I run just the Darwiin Remote app, everything works fine, my remote is immediately recognized, so I'm not sure...really excited to get it working though, any thoughts?
Posted by Quizosde | April 22, 2007 10:36 PM
Posted on April 22, 2007 22:36
Update to my last post:
Just tried it on a PowerBook G4 running 10.4.9 and it worked...so is it a problem with newer intel Macbook Pros?
Posted by Quizosde | April 22, 2007 10:58 PM
Posted on April 22, 2007 22:58
I've been playing with this since I got it to work, its so cool. Its plain fun as a toy, but I think its a really viable for making music as an innovative midi controller. You can really do stuff you can't do on on a keyboard or beatpad (drumrolls!).
One thing that would be nice for the future, right now it seems in the drumstick mode you can only map 7 notes, when some drumkits are much larger. Maybe the left and right d-pad could step up or down with each press, so you could still access the full kit still.
I'm totally excited about the project, if you need any website or design help with anything for it I'd love to be a part of it!
Posted by Timothy Kelty | April 23, 2007 6:05 AM
Posted on April 23, 2007 06:05
Hi,
I'm running on a powermac dual 1.8, the window opens up white and then the app closes, nothing, that I can tell, get written to the console.
But it does work fine on the CD MBP.
Cool app.
Posted by Martin | April 25, 2007 3:13 AM
Posted on April 25, 2007 03:13
Do you have a MIDI device set up, like, e.g., the IAC device (see the article for more information)? Without a MIDI device, The Wiinstrument doesn't work yet.
Posted by hypo | April 27, 2007 10:45 PM
Posted on April 27, 2007 22:45
Hi hypo,
This is a great project idea! The number of applications in the live performance setting are virtually unlimited. You could do some pretty avant-garde stuff with this, if you know what I mean. :)
I am running on a first generation MacBook Pro, and am not successfully able to get this application to launch. The application will show in the dock for a half a second, and sometimes a small gray window will appear, but it shuts off immediately afterwards. Anything I can do to remedy this problem?
Thanks,
-Andrew
Posted by Andrew | April 28, 2007 9:14 PM
Posted on April 28, 2007 21:14
Set up the device and no dice.
(i didn't mean for that to rhyme)
i managed to find out where a crash log was being written.
"Begin pairing...
terminate called after throwing an instance of 'std::runtime_error'
what(): Error on line 141"
Posted by Martin | April 29, 2007 6:40 AM
Posted on April 29, 2007 06:40
Runtime error here too:
=========
Begin pairing...
terminate called after throwing an instance of 'std::runtime_error'
what(): Error on line 141
=========
Same problem on an Intel Mac Mini 1.83 and on a G4 MDD.
I had deleted bluetooth devices prior. The WiiMote works with DarwinRemote and a few other Wii/Mac programs.
Posted by Dave | April 29, 2007 11:39 PM
Posted on April 29, 2007 23:39
I'm investigating the problem. A fix will probably go into version 0.2b.
Posted by hypo | April 30, 2007 12:43 PM
Posted on April 30, 2007 12:43
Hmm.. Keyboard mode works fine for me, but drum mode doesn't seem to work at all. Using reaktor, when drum mode is on it doesn't register any midi input at all. I've tried it in other programs also with the same problems. Am I missing something?
Running a Powerbook G4 1.67 with 10.4.9
Thanks
Posted by Aaron | May 1, 2007 3:29 AM
Posted on May 1, 2007 03:29
Do you have the MIDI input filtered by channel? The "Drumstiicks" mode is sending data on channel 10, the Kiiboard mode on channel 1.
Posted by hypo | May 1, 2007 7:11 PM
Posted on May 1, 2007 19:11
Yeah thanks, that was the problem. Don't know how I missed that.
Posted by Aaron | May 1, 2007 9:26 PM
Posted on May 1, 2007 21:26
Hello
You are The Best!!!
G'night
Posted by Terabanitoss | May 5, 2007 7:10 PM
Posted on May 5, 2007 19:10
Hi there!
I have the same problem as stefan: the app will quit immediately with the same console error. What are we doing wrong? Can u explain the exact steps to do in order to use the app? Starting from what needs to be enabled in the bluetooth preferences etc. I have enabled bt but i see no devices in the list! what's wrong? Thanks in advance
Posted by Pierlo | May 11, 2007 11:22 PM
Posted on May 11, 2007 23:22
You don't have to pair the Wii remote in the BT preferences, the pairing is done in the Wiinstrument itself. Do you have the latest version of the Wiinstrument? Do you have at least one MIDI device activated? (in the Audio and MIDI preferences)
Posted by hypo | May 13, 2007 10:06 PM
Posted on May 13, 2007 22:06
Hello,
This sounds exactly what I'm looking for. Can the Wiimote work concurrently with other midi triggers plugged at the same time? For instance my midi keyboard playing a melody and my wiimote playing percussion?
Thanks
Charles
Posted by Charles | May 18, 2007 1:03 PM
Posted on May 18, 2007 13:03
Yep, that works for every software that can read from multiple MIDI devices.
If you use a sequencer, you could e.g. select the IAC bus MIDI device (like explained in the article) as input for your percussion track. Then, select your standard MIDI input device as MIDI input for the keyboard sampler/synthesizer track and you're done :)
Posted by hypo | May 18, 2007 2:06 PM
Posted on May 18, 2007 14:06
where can i find the source?
Posted by mcg | May 23, 2007 6:46 PM
Posted on May 23, 2007 18:46
You can find the current development version on SourceForge.
Posted by hypo | May 23, 2007 9:10 PM
Posted on May 23, 2007 21:10
I dont get any sound at all on 10.4.9
Posted by Tavis | May 29, 2007 7:47 PM
Posted on May 29, 2007 19:47
Do you have a MIDI software connected to the Wiinstrument and read the instructions above?
Posted by hypo | June 1, 2007 8:29 AM
Posted on June 1, 2007 08:29
how's the progress going on the linux port? just checked the subversion trunk and didn't see any makefiles. i'll go buy a wiimote and help break it in. i'm familiar with linux synth stuff from the end user side so i'll at least know how to hook it up :)
Posted by wirelessdreamer | June 4, 2007 2:05 AM
Posted on June 4, 2007 02:05
We're on it, it's just not in the SVN yet. Maybe later this week, as it seems we have to change our license again for CWiid. Another problem is that we didn't get OpenGL drivers to work in accelerated mode on our Linux machine yet, so the Wiinstrument starts, but the GUI is updated with about 1.5 fps ;)
If you want to do it yourself, you have to do the following:
This should be everything.
Posted by hypo | June 4, 2007 2:37 PM
Posted on June 4, 2007 14:37
Hi
Fraid I'm getting the same eror message
Begin pairing...
terminate called after throwing an instance of 'std::runtime_error'
what(): Error on line 141
Abort trap
On intel MBP CD
Posted by pandaman | June 4, 2007 4:01 PM
Posted on June 4, 2007 16:01
hi, any luck getting this to work on the intel macs? i've tried all posted versions on this page and had no luck. thanks for your help.
Posted by rapsci | June 26, 2007 6:50 AM
Posted on June 26, 2007 06:50
I have tested 0.1.1 on my gf's Intel MacBook and it works fine with GarageBand. 0.2 is not far from finished and is using other initialization routines, maybe you will have more luck with it…
Do you have a MIDI device enabled in your Audio/MIDI configuration app, like the Apple IAC device?
Posted by hypo | June 26, 2007 1:27 PM
Posted on June 26, 2007 13:27
I just wanted to check in again about linux progress, i've got some time i could spend helping with the port, but your last reply said you have some linux progress that isn't updated in svn, so i really don't want to just be repeating work thats already been done.
Posted by wirelessdreamer | July 1, 2007 5:02 PM
Posted on July 1, 2007 17:02
Dying to work with this! Unfortunately got the same error as mentioned above, the app quits after a brief spawn in the dock...
Posted by Monokai | July 1, 2007 5:14 PM
Posted on July 1, 2007 17:14
wirelessdreamer: Just take a look at this: http://screenfashion.org/2007/06/linux_release_up_ahead.html
The newest sources will be in SVN shortly.
Monokai: The problem should be fixed in the next release.
Posted by hypo | July 1, 2007 7:02 PM
Posted on July 1, 2007 19:02
i think i found a bug...
been using wiinstrument together with garage band, and i noticed that some note off events get "lost". happens when i play two notes at once and release one of them earlier than the other. the note gets stuck until i play the same again - the second note on stops the playing one.
or maybe that's a feature?
Posted by onitake | July 3, 2007 1:00 PM
Posted on July 3, 2007 13:00
I can't wait, you guys rock! :)
Posted by wirelessdreamer | July 5, 2007 1:30 AM
Posted on July 5, 2007 01:30
onitake,
the note-off problem happens only in Kiimote when you shift the scale with 'right' or 'left' on the D-pad while you are holding other notes. The Wiinstrument doesn't remember which notes it is playing at a given moment, it's only sending note-off/note-on events on releasing/pressing buttons, so the wrong note-off event is sent when you shift the scale while playing a note.
This will be fixed in the next release.
Bye :)
Posted by hypo | July 11, 2007 8:11 PM
Posted on July 11, 2007 20:11
it launches for a second when i open it but then it disappears !! help me
im running on mac os x 10.4.10 w/ 2 GHz intel core duo
Posted by jerry | July 13, 2007 6:39 AM
Posted on July 13, 2007 06:39
I grabbed the most recent source just now. As a drummer by night, I've got some ( i hope ) good ideas for making this a viable instrument. I'm building on OS 10.4.10 XCode 2.4.1, and the Xcode project in the SVN package won't build (?). GCC Fails: No input files, when trying to compile Bitmap*.* files. I'm very new to XCode, so there may be some bits of configuration I'm missing, but any help you could offer would be grand, as I've got some time coming up to commit to this project. I'm a .Net developer by trade, if that point-of-reference helps. Thanks
Posted by Andrew Roberts | July 25, 2007 4:11 AM
Posted on July 25, 2007 04:11
this wait is killing me =P. i'm trying to hack together a makefile for linux but i can't find any reference to what package CommonMath.h is part of. if there are any changes not commited to svn they'd be great too ;)
Posted by wirelessdreamer | July 29, 2007 11:41 PM
Posted on July 29, 2007 23:41
wirelessdreamer: Have you got our mail with the zipped KDevelop project? CommonMath.* , EyeCandy.* and all references to these files are not important for the current status - you can delete them without losing anything.
Posted by hypo | July 30, 2007 7:41 PM
Posted on July 30, 2007 19:41
I have the same problem on PPC OSX 10.4.10 - the application pops up for a moment and closes immediately, i can´t even see the gui.
Please help me! Any suggestions? I´m really looking forward to using the Wiinstrument für drums.
Regards,
Jan
Posted by Jan | July 31, 2007 2:52 PM
Posted on July 31, 2007 14:52
Jan,
thanks for your report. Could you send us a mail with the content of your ~/Library/Logs/CrashReporter/The\ Wiinstrument.crash.log file?
This would help solving the problem.
Thanks in advance,
Sebastian
Posted by hypo | July 31, 2007 3:12 PM
Posted on July 31, 2007 15:12
I never recieved any email involving anything into wiinstrument =| just checked my junk mail folder, it didn't end up there either.
Posted by wirelessdreamer | July 31, 2007 9:08 PM
Posted on July 31, 2007 21:08
I got this error as well, like Stefan:
Error: No devices found.
Begin pairing...
terminate called after throwing an instance of 'std::runtime_error'
what(): Error on line 141
=(
Posted by Wing | August 7, 2007 6:24 AM
Posted on August 7, 2007 06:24
top idea this one, im the drummer for leeds uk band THE GOOD DIE YOUNG and hope to use this live with ABLETON.
However! i have the same problem with getting the midi into ableton. I follow all the instructions listed, ie do the iac thing, shift it to the front of the list, choose new IAC option in the WIIstrument panel, but still no midi in ableton.
Ive checked all the midi inputs outputs and remote are on in ableton and still nothing.
Ive asked loads of MAC / ABLETON people about this and still no joy.
Has anyone got this working on a 2006/7 intel imac running osx + ableton live6?
Cant wait to get it working though, the possibilities are endless.
: )
Posted by muithai | August 22, 2007 3:47 PM
Posted on August 22, 2007 15:47
I can't get this to work with my Macbook. I have tried everything :(
Posted by klyick | September 26, 2007 4:11 PM
Posted on September 26, 2007 16:11
Hi there, great idea!
just tried it... software recognize my wimote, but there is no soundoutput?! any tips and tricks?
JO
Posted by joehanc | December 5, 2007 4:35 PM
Posted on December 5, 2007 16:35
anyone tried the wiiinstrument with reaktor? thanks
Posted by Marco | December 13, 2007 4:45 PM
Posted on December 13, 2007 16:45
joehanc,
could you provide more information about the setup you use? There's only audio output in the "DrumStiicks (Audio)" mode which you can reach via the Home button.
Marco,
the software should work with Reaktor as with every MIDI instrument :)
Posted by Sebastian Burkhart | December 14, 2007 8:42 AM
Posted on December 14, 2007 08:42
10.4.10 MacBook.
Does not recognize Wiimote. Doesnt even see this Bluetooth device..
Posted by Jan | December 18, 2007 6:00 PM
Posted on December 18, 2007 18:00
Hi I'm starting a similar project to the wiinstrument soon and would be really greatful if you could send me some information on how the wiinstrument works.
Thanks
Aron
Posted by Arron | January 13, 2008 7:01 PM
Posted on January 13, 2008 19:01
Just look into the sources, they're on SourceForge ;)
Posted by Sebastian Burkhart | January 14, 2008 12:23 PM
Posted on January 14, 2008 12:23