Here's how our MIDI-to-tablature routines are drawing some chords from the tune "Need Your Love So Bad". Nothing fancy or clever, just some simple triads.
The first chord is the higher notes of a regular A major "open" chord.
(the full A major chord is shown, and the notes displayed in our midi-derived tab appear in red)
Similarly just by looking at the derived tab, we can also see the "higher" end of a regular D major chord, with the frets 2-3-2 held on the high E, B and G strings. But what if playing the open A chord isn't convenient? Wouldn't it be great if we could move these notes and put them on other frets (while maintaining their musical pitch values?)
A bit of javascript later, and that's exactly what we've got!
Basically, when you click on a number in the tab, the javascript looks at the fret number and tries to add five (four if the note is on the B string). If this sum total is less than 21 (the maximum number of frets on our guitar) it puts the note on the next lower string, and increases the fret value by five (or four if jumping from the B to the G string).
This means that our A chord can also appear like this:
Here we can see that the 5-6-7 variation of the A major chord is simply the "middle" of a barre chord at the fifth fret:
And when we take these values one string lower, we get 7+5 = 12 and 7+5 = 12 and 7+4 (since we've moving off the B string to the G string) = 11.
And when we plot these onto a guitar neck, we can see we're looking at an E-shape barre chord at the 10th fret - another well-known place where you'll find a D major chord!
So not only have we successfully parsed a MIDI file and been able to place all the "on notes" on the correct frets/strings on our guitar tablature, we've also got a really easy way of allowing players to choose alternative positions/finger placements for each note - either individually, or shift all of the notes to move an entire chord into a new shape.
Very exciting stuff!
No comments:
Post a Comment