<?xml version='1.0' encoding='UTF-8'?><rss version='0.91'><channel><title>DIYs AND TIP ARTICLES FOR TAG: HACK</title><link>http://2pointhome.com/</link><description>2Point Home RSS Feed</description><language>en-us</language><copyright>2008 Verizon</copyright><pubDate>Thu, 20 Nov 2008 5:43:25 CST</pubDate><ttl>5</ttl><item><title><![CDATA[Play Guitar Hero Like a Real Instrument]]></title><link>http://2pointhome.com/diys/steps/45413</link><description><![CDATA[<p><img src="http://farm3.static.flickr.com/2144/2459600181_648427f32f.jpg" width="400" height="300" /><em>Above: The Jumbotron, just before the <a href="http://www.2pointhome.com/articles/view/45248">Jaeger makeover reveal</a></em></p>
<p>One of the most fun highlights of each <a href="http://www.2pointhome.com/casting">2.0 block party</a> -- not to mention the <a href="http://www.2pointhome.com/articles/view/43430">technology</a> <a href="http://www.2pointhome.com/articles/view/43408">makeovers</a> themselves -- is getting to rock the wildly popular Guitar Hero video game on a chest-rattling, state-of-the-art system.</p> 
<p>The only catch is, you have to play the notes <i>they</i> want you to play, in the order they want you to play 'em. Green, red, yellow, green, red, blue, yellow...sometimes you just want to escape those colored dots and do your own thing.</p>
<p>Well, now you can.</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/JDd4E6bgLfs&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/JDd4E6bgLfs&fmt=18" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>Programmer <a href="http://www.youtube.com/watch?v=JDd4E6bgLfs" target="_blank">Josh Breckman</a> hacked a Wii Guitar Hero guitar controller so it actually can be played like a <i>real instrument</i>, with 45 different available pitches.</p>
<p>While the actual creation of such an instrument is probably best left to those with <a href="http://www.2pointhome.com/gurus/bio/44245">Guru Lloyd</a>-level computer skills, just watching Josh's video demo should bring a grin to anyone who's ever strapped on a plastic guitar and heard that jarring "SKROINK!" when you hit a bum note.</p>
<p>For those of you out there with real cyber-chops, Josh's directions are quoted below, courtesy of <a href="http://hackedgadgets.com/2007/12/18/wii-guitar-hero-hack/" target="_blank">HackedGadgets.com</a>:</p>
<p><em>“I combined: <a href="http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx" target="_blank">WiimoteLib</a>
and
[<a href="http://www.codeproject.com/KB/audio-video/midiwrapper.aspx" target="_blank">Wrapper Library for Windows MIDI API</a>] to handle midi stuff</p>
<p>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)</p>
<p>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:</em></p>
<p>mWiimoteState.GuitarState.Whammy = (float)(buff[offset + 3] - 240) / 10;
mWiimoteState.GuitarState.DownStrum = (buff[offset + 4] & 0×40) == 0;
mWiimoteState.GuitarState.UpStrum = (buff[offset + 5] & 0×01) == 0;
mWiimoteState.GuitarState.Note1 = (buff[offset + 5] & 0×10) == 0;
mWiimoteState.GuitarState.Note2 = (buff[offset + 5] & 0×40) == 0;
mWiimoteState.GuitarState.Note3 = (buff[offset + 5] & 0×08) == 0;
mWiimoteState.GuitarState.Note4 = (buff[offset + 5] & 0×20) == 0;
mWiimoteState.GuitarState.Note5 = (buff[offset + 5] & 0×80) == 0;<br>
break;</p>
<p><em>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 :)”</em></p>
<p>Kudos, Josh...keep on rockin'!</p>



]]></description><author>Jim 2.0</author><pubDate>Jan 30, 2008</pubDate></item><item><title></title><link>http://2pointhome.com/articles/tip/hold</link><description><![CDATA[]]></description><author></author><pubDate>Dec 31, 1969</pubDate></item></channel></rss>