Hacked Gadgets Forum

December 18, 2007

Wii Guitar Hero Hack

at 10:21 am. Filed under Cool Gadgets, Game Hacks

 

Josh Breckman took a normal Wii Guitar Hero and hacked it to work with his computer and audio keyboard. Watch his demo of the guitar at the end of the video, I am impressed by how well it works. Great job!

“I hacked my Wii Guitar Hero Guitar so it can actually be played like an instrument, with up to 45 different pitches at my disposal.

I play (with one or two minor mistakes) the verse, chorus and solo to “Smells Like Teen Spirit”, by Nirvana, to demonstrate this.”

Thanks to Josh for providing some additional information:

“I combined: WiimoteLib (http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033 .aspx)

and

http://www.codeproject.com/KB/audio-video/midiwrapper.aspx to handle midi stuff

past that, i just had to find the special code saying it was a guitar hero controller – similar to the nunchuck. (guitar hero was 0xfb, and nunchuck was 0xf3)

past that, in the same bit of code that looks for nunchuck/classic controller stuff, i managed to figure out the byte/bit patterns of the different keys:

mWiimoteState.GuitarState.Whammy = (float)(buff[offset + 3] – 240) / 10;
mWiimoteState.GuitarState.DownStrum = (buff[offset + 4] & 0x40) == 0;
mWiimoteState.GuitarState.UpStrum = (buff[offset + 5] & 0x01) == 0;
mWiimoteState.GuitarState.Note1 = (buff[offset + 5] & 0x10) == 0;
mWiimoteState.GuitarState.Note2 = (buff[offset + 5] & 0x40) == 0;
mWiimoteState.GuitarState.Note3 = (buff[offset + 5] & 0x08) == 0;
mWiimoteState.GuitarState.Note4 = (buff[offset + 5] & 0x20) == 0;
mWiimoteState.GuitarState.Note5 = (buff[offset + 5] & 0x80) == 0;
break;

From there, I had access to midi, what buttons were pressed, the wiimotelib already had the accelerometers rigged up, and all I had to do was put them all together :)”