Have started today thinking about chord generation. This will involve first of all building a chord from an input, say the user wishes to view the chord D, the chord would need to be constructed as follows
1. D (Major)
2. E (Minor7)
3. F (Minor7)
4. G (Major)
5. A (dominant7)
6. B (relative minor)
7. C (diminished)
Each note in the chord has a special place in the chord of D, and normally on guitar each note is not played. For any major chord only the first, third and fifth note will be played, other notes can also be played and this is still technically the chord of D but it just wouldnt sound good.
I came up with a way in java of creating a chord object based on the chord the user selects and then building the chord with the notes in the right place.
The next problem is to come up with a method which will take in any chord and then draw the relavant chord diagram, to begin with i decided to stare at my guitar for a while. Later myself and brendan did some tests on basic chords on the idea we came up with and it seems to hold true for most chords. the basic outline of this algorithim for major chords is as follows:
1. Take in the chord structure.
2. Start on the first String, search each fret for an occurance of either the first, third or fifth note in the chord.
3. When found paint a button to display which fret should be held
4. Repeat steps two and three for each string.
5. Include a check for certain chords which “guitar wise” should mute certain strings.
The next step which i will look at tomorrow will be to decide how to handle minor notes (Whereby the third note in the chord is flattened). this shouldnt be a major stretch. I would also like to come up with a way to draw these diagrams for all frets.
More on this soon.
Posted in Music Theory