<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[ChipMusic.org - [Arduino] MIDI Guitar Hero full build+play guide (32 note range)]]></title>
		<link>https://chipmusic.org/forums/topic/13205/arduino-midi-guitar-hero-full-buildplay-guide-32-note-range/</link>
		<description><![CDATA[The most recent posts in [Arduino] MIDI Guitar Hero full build+play guide (32 note range).]]></description>
		<lastBuildDate>Fri, 17 Jan 2014 01:02:41 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[[Arduino] MIDI Guitar Hero full build+play guide (32 note range)]]></title>
			<link>https://chipmusic.org/forums/post/198267/#p198267</link>
			<description><![CDATA[<b><i>Superquinn says:</i></b><p>Sup! I made this GH/RB guitar full MIDI mod, link to the github page enclosed, <br />I made this guide as simple as I could, but I&#039;m assuming you have a basic grasp of, well, arduino stuff really. And soldering, and how to find the ground and power on a chip.</p><p>I&#039;ll add more info to this post as I go, so consider this thread a WIP. (Program&#039;s stable and working though, the download&#039;s on <a href="https://github.com/MagicalGentleman/arduino-hero" target="_blank">my github page</a>)</p><p>The aim of my project was to make a standalone MIDI controller with the musical capabilities of a full instrument, but still play like the video game.<br />Basically <a href="http://www.youtube.com/watch?v=-MBFlOuWVoQ" target="_blank">THIS</a>, but with sound.</p><p>It&#039;s an arduino mod that intercepts the button presses directly, without dealing with the controller&#039;s chip and its platform-specific protocols.<br />As a result, this setup is universal for all the GH and RB guitar models. Secondary frets from the RB guitar is on my todo list.<br />Also, if you already have the controller, the basic setup just requires an arduino, and nothing else! (Obviously, you can add a midi port, but this can work though usb too)<br />In theory, all modded instruments should be able to stay backwards compatible with the game.</p><p>You&#039;ll be happy to know that the default octave range I&#039;ve preset keeps within the DMG&#039;s limits!</p><p>Scaling up on the frets is represented here. Check the tabs below to see the setup more clearly with octaves and notes written in.<br />This table is just here to look pretty :)<br /><strong><span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span>&nbsp; |&nbsp; <span style="color: green">#</span></strong><br /><strong><span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: red">#</span>&nbsp; |&nbsp; <span style="color: red">#</span></strong><br /><strong><span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: yellow">#</span></strong><br /><strong><span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span>&nbsp; |&nbsp; <span style="color: blue">#</span></strong><br /><strong><span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: dimgray">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span>&nbsp; |&nbsp; <span style="color: orange">#</span></strong></p><p>You should be able to see a pattern in this. It&#039;s designed so you shouldn&#039;t need to do too much work around the base octave.<br />I recommend hanging around the 3 finger combinations. easy drops to bass, and wiggling your middle finger gives a nice hammer-on combo.<br />The progression of notes is pretty logical. I have an in-depth guide below. It&#039;s lengthy, but it&#039;s the most comprehensive description I can give on the system. The theory actually gives you shortcuts to some cool scale-jumping if you check out the bookcase system!</p><div class="spoilerbox" id="spoiler2412580"><h3 onclick="$('#spoilerbox2412580').css('display','block');$('#spoiler2412580').css('display','none')">&#8250; Basic operation</h3></div><div class="spoilerbox" id="spoilerbox2412580" style="display:none"><h3 onclick="$('#spoilerbox2412580').css('display','none');$('#spoiler2412580').css('display','block')">&#8249; Basic operation</h3><p><span style="color: deeppink">Strumming +</span> <strong><span style="color: green">F</span><span style="color: red">R</span><span style="color: yellow">E</span><span style="color: blue">T</span><span style="color: orange">S</span></strong> plays a note. Sustains until you change frets, like in the game.</p><p>press <span style="color: deeppink">SELECT</span> (or your equivalent) to increase your base octave<br />press <span style="color: deeppink">START</span> (or your equivalent) to decrease your base octave</p><p>hold and release <span style="color: deeppink">START+SELECT</span> to toggle between note and chord mode.<br />In chord mode {<br />&nbsp; &nbsp; <span style="color: deeppink">strumming up</span> will play a minor chord<br />&nbsp; &nbsp; <span style="color: deeppink">strumming down</span> will play a major chord<br />}</p><p><span style="color: deeppink">Do hammer-ons while holding down the strum bar.</span><br />Velocity of the notes reduce slightly each time, for added realism.<br />While hammering on, your base C will play softly whenever you lift all your fingers off. (half velocity of current note) This simulates what would happen if you released your finger from a string during a sustained note, or halfway between scaling. Adds a bit of depth too.</p><p><span style="color: deeppink">Whammy bar whammies, naturally.</span></p></div><div class="spoilerbox" id="spoiler3826897"><h3 onclick="$('#spoilerbox3826897').css('display','block');$('#spoiler3826897').css('display','none')">&#8250; A fret table you can read without getting a headache</h3></div><div class="spoilerbox" id="spoilerbox3826897" style="display:none"><h3 onclick="$('#spoilerbox3826897').css('display','none');$('#spoiler3826897').css('display','block')">&#8249; A fret table you can read without getting a headache</h3><p><strong>|--<span style="color: deeppink">OCTAVES</span>--|<br />|<span style="color: deeppink">1ST</span>|<span style="color: deeppink">2ND</span>|<span style="color: deeppink">3RD</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">C</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">C#</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">D</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">D#</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">E</span><br />|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">F</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">F#</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">G</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">G#</span><br />|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">A</span><br />|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">A#</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|</strong></p><p><strong>|<span style="color: dimgray">X</span><span style="color: green">G</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: red">R</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: deeppink">B</span><br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: dimgray">X</span>|<br />|<span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span>|<span style="color: dimgray">X</span><span style="color: orange">O</span><span style="color: dimgray">X</span>|<br /></strong></p></div><div class="spoilerbox" id="spoiler9351992"><h3 onclick="$('#spoilerbox9351992').css('display','block');$('#spoiler9351992').css('display','none')">&#8250; In-depth guide on note progression</h3></div><div class="spoilerbox" id="spoilerbox9351992" style="display:none"><h3 onclick="$('#spoilerbox9351992').css('display','none');$('#spoiler9351992').css('display','block')">&#8249; In-depth guide on note progression</h3><p><span style="color: deeppink">Open note:</span><br />Strumming <span style="color: dimgray">open</span> gives you a <span style="color: deeppink">C1</span> note on your base octave.</p><p><span style="color: deeppink">Single finger notes:</span><br /><span style="color: green">Green</span> by itself gives you the note above that (<span style="color: deeppink">C#1</span>)<br />You continue scaling up with one finger until you reach orange. they are all half steps, e.g. <span style="color: deeppink">C C# D D# E F</span>.........</p><p><span style="color: deeppink">Two finger combos:</span><br />Return your hand back to the start, and begin scaling again with two fingers. e.g. pressing <span style="color: green">G</span><span style="color: red">R</span>, then <span style="color: red">R</span><span style="color: yellow">Y</span>, etc. until you reach the end.</p><p><span style="color: deeppink">Next are the three finger combinations.</span> From here on, you use a <span style="color: deeppink">&#039;bookcase&#039; approach:</span></p><p>You actually start all multi-finger combos with two fingers, creating two &#039;bookends&#039;. You then begin to scale between the bookends.<br />Once the stack is full, you continue to the next combo.</p><p><span style="color: deeppink">Rules of thumb in priority from lowest to highest:</span><br />The more books in the bookcase, the higher the note. (More fingers=Higher pitch)<br />The further your first finger is from <span style="color: green">Green</span>, the higher the note.<br />The bigger the bookcase, the higher the note still.<br />(Think of the earlier two finger combos as bookend pairs in a really small bookcase. The same could be said for the single and no finger combos.)</p><p><span style="color: deeppink">Alright, back to the 3 finger combos!</span><br />Three finger scaling starts at <span style="color: deeppink">A#1</span>, with <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: yellow">Y</span>. The next note <span style="color: deeppink">B1</span> is <span style="color: green">G</span><span style="color: red">R</span><span style="color: yellow">Y</span>, which already fills the bookcase.<br />After that, you scale to <span style="color: deeppink">C2</span>, which is <span style="color: red">R</span><span style="color: dimgray">X</span><span style="color: blue">B</span>. e.g. moving all your fingers one step, then emptying the bookcase.<br />As usual, you repeat until you reach a full bookcase on <span style="color: orange">O</span> (note <span style="color: deeppink">D#2</span>). e.g. <span style="color: yellow">Y</span><span style="color: blue">B</span><span style="color: orange">O</span></p><p><span style="color: deeppink">Four finger combos:</span><br />Here is where the bookcase approach begins to be properly implemented.<br />Starting with the first four finger note, <span style="color: deeppink">E</span>, you should have this bookcase: <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: blue">B</span>.</p><p><span style="color: deeppink">Some elaboration on larger bookcases:</span><br />Look, the three finger bookcase was tiny.<br />The point of the bookcase system is for logical cycling in a small space, maximizing note range.<br />As you&#039;ll see later, a five finger bookcase actually plays eight notes. (That&#039;s more than five, guys! :o )<br />When you open a bookcase, you then scale one note at a time, like I explained before.<br />Think of this scale as inserting a book, then shuffling it along from one bookend to the other.<br />When you reach the end of a mini-scale, you can start again if there&#039;s space for an extra finger.<br />So you insert a new, bigger book (two fingahs!) and scale again.<br />Because the notes are so densely packed together, you can skip around with the notes real easy!</p><p><span style="color: deeppink">Back to four finger combos!</span><br />According to the bookcase rule, you scale within like so: <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: blue">B</span>, <span style="color: green">G</span><span style="color: red">R</span><span style="color: dimgray">X</span><span style="color: blue">B</span>, <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: blue">B</span><br />Notice that there&#039;s still extra space (<span style="color: dimgray">X</span>) in that scale.<br />You continue the scale by throwing in a bigger book (two fingahs!): <span style="color: green">G</span><span style="color: red">R</span><span style="color: yellow">Y</span><span style="color: blue">B</span><br />Now your bookcase is completely full, so move on to the next bookcase! <span style="color: red">R</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: orange">O</span><br />You know what to do from here.</p><p><span style="color: deeppink">FIVE FINGER COMBOS! SHOW THEM WHO&#039;S BOSS!</span><br />Really, it&#039;s the same as a four finger combo.<br />The scaling is the same, where you slide one button at a time along the bookcase, then throw in the bigger book and repeat.<br />e.g. <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: orange">O</span>, <span style="color: green">G</span><span style="color: red">R</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: orange">O</span>, <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span><span style="color: orange">O</span>, <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: orange">O</span>. (that&#039;s scaling from <span style="color: deeppink">C</span> to <span style="color: deeppink">D#</span>)<br />Then the bigger book: <span style="color: green">G</span><span style="color: red">R</span><span style="color: yellow">Y</span><span style="color: dimgray">X</span><span style="color: orange">O</span>, <span style="color: green">G</span><span style="color: dimgray">X</span><span style="color: yellow">Y</span><span style="color: blue">B</span><span style="color: orange">O</span>.<br />Notice there&#039;s a space left, so add a finger width: <span style="color: green">G</span><span style="color: red">R</span><span style="color: dimgray">X</span><span style="color: blue">B</span><span style="color: orange">O</span><br />Note that this is just a nested bookcase, so the next note fills it up: <span style="color: green">G</span><span style="color: red">R</span><span style="color: yellow">Y</span><span style="color: blue">B</span><span style="color: orange">O</span><br />And that&#039;s the extent of the scale!</p><p>Confused? I&#039;m just bad at explaining things!<br />There&#039;s a binary version of 32 note scaling floating around for a computer based controller, but I feel it&#039;s a bit cramped and non-intuitive.<br />For example, here&#039;s the first octave but played in a binary style:<br />00000,10000,01000,11000,00100,10100,11100,00010,10010,01010,11010,00110.<br />To me, it doesn&#039;t make any musical sense. If you think that&#039;s better, and can forgo portability, here&#039;s a <a href="http://en.wikipedia.org/wiki/MIDItarHero" target="_blank">link</a>.</p></div><div class="spoilerbox" id="spoiler5986724"><h3 onclick="$('#spoilerbox5986724').css('display','block');$('#spoiler5986724').css('display','none')">&#8250; Universal-ish guide to wiring it up</h3></div><div class="spoilerbox" id="spoilerbox5986724" style="display:none"><h3 onclick="$('#spoilerbox5986724').css('display','none');$('#spoiler5986724').css('display','block')">&#8249; Universal-ish guide to wiring it up</h3><p>If you&#039;re up to wiring it up, it&#039;s pretty straightforward, even without a massive pictorial guide. (I mean, if <em>I</em> can do it... :3)<br />Just trace the ground from the (GH/RB) circuit board to the buttons. (get a feel for the place!)<br />Keep note of a handy place on the GH board to solder your ground to.<br />Then find a part on the main GH board that supplies the power.<br />Wire your &#039;Duino ground and power to the GH ground and power.</p><p>Once that&#039;s done, you have full access via digital pins to anything that the GH board is connected to!<br />Then trace the buttons from where they are pressed to where you can solder on your digital leads. (pins 2-10 at time of posting).</p><p>In essence, you&#039;re &#039;piggybacking&#039; onto the existing circuit. DON&#039;T cut anything unless you know what you&#039;re doing.<br />Don&#039;t worry about resistors or whatnot when wiring it up, the &#039;Duino is set up to read &#039;LOW&#039; as a keypress. If that means anything to you.<br />If you&#039;re clever enough with the piggybacking, the guitar should stay backwards compatible with the game, so don&#039;t worry about losing 2p mode!</p><p>Notes on the potentiometer (Whammy!):<br />you will probably have to reconfigure the values for the pot, as I&#039;m pretty sure there&#039;s a difference in every model.<br />There&#039;s also a chance I/You wired the pot backwards.<br />I recommend running the AnalogInOutSerial example sketch that comes with your arduino client to find your pot range.<br />I may throw in some code to do the same thing in my diagnostic sketch at some point.</p><p>The diagnostic sketch you get with the arduino-hero program will save you a LOT of hassle.<br />When I was coding, I spent hours trying to figure out why nothing was working. I made a diagnostic program, and lo and behold the wiring was crappy!</p><p>I recommend having the diagnostic sketch running while the guitar is still open, so you can fix things before it becomes a hassle.</p></div><div class="spoilerbox" id="spoiler6266501"><h3 onclick="$('#spoilerbox6266501').css('display','block');$('#spoiler6266501').css('display','none')">&#8250; TODO</h3></div><div class="spoilerbox" id="spoilerbox6266501" style="display:none"><h3 onclick="$('#spoilerbox6266501').css('display','none');$('#spoiler6266501').css('display','block')">&#8249; TODO</h3><p><span style="color: deeppink">A DEMO!</span><br />I&#039;m a drummer, so there&#039;s a steep learning curve for me before I&#039;ll be able to post a decent demo video.<br />I&#039;m having to teach myself music theory and some pseudo-bass.</p><p>I&#039;m looking into square wave generation with variable duty cycles for an &#039;acoustic mode&#039;.</p><p>At some point, i&#039;ll post an advanced tutorial covering useful fret positions, note overlaps, superfast octave hopping, etc.</p><p>I can easily add support for the secondary frets on a RB controller while only requiring 1 additional pin, but it&#039;s not my top priority right now. Leave a comment if you&#039;re impatient, and I&#039;ll see what I can do. Please note that I won&#039;t be able to properly test the code, as I don&#039;t have that model. I&#039;d also have to make another guide on how to wire up that particular section. I have an idea of what to do, but no way to test my theories atm.</p></div><p>The Github page: <a href="https://github.com/MagicalGentleman/arduino-hero" target="_blank">https://github.com/MagicalGentleman/arduino-hero</a></p>]]></description>
			<pubDate>Fri, 17 Jan 2014 01:02:41 +0000</pubDate>
			<guid>https://chipmusic.org/forums/post/198267/#p198267</guid>
		</item>
	</channel>
</rss>
