Picking up from yesterday, I’ve been thinking a bit more about how I’d go about figuring out where to put the notes on a string – my algorithm.
First of all, I’d want to determine how many frets I was going to include. Once you start with the lowest note at the 12th fret, you are repeating patterns from an octave lower, although some will be impossible finger-busters without leaving some strings open. Therefore, I’d want to cover chords starting with the first finger up to the 11th fret and thus reaching to the 14th fret. You could reach higher but can always glance back down the other end of the neck for guidance. Anyway, in my experience, higher chords are more likely to be partial chords relying on patterns shifted from lower down, so I’ll work on a string made up of 15 semitone steps (0-14, including the open strings).
I think my next step, given a tuning for the string and the root note of the chord I was working towards, would be to calculate the lowest point at which the root note could be found. Let’s say it is an A string and I want to build some kind of C chord. Position 0 is the open string – A. Position 1 is … for most purposes I’d call it Bb. Rather than trying to calculate the correct enharmonic equivalent name, I think I’d look up the preferred names for a given scale. For C, I would use C Db D Eb E F Gb G G# A Bb B. The next step in the pattern is back to C. The C major scale is C D E F G A B; where I need to fill in the gaps, I’ve used what I think are the most likely choices – b2, b3, b5, b7 (Db, Eb, Gb, Bb) but #5 (G#) rather than b6 (Ab).
In fact, if I also label each of those twelve boxes, I can fill in two bits of information for each of the 15 steps along my virtual string:
If I now display that information, using different colours and shapes to highlight different parts of the scale, I’m pretty much there. I’d want root, third and seventh to stand out as foundational tones for defining the chord and the perfect fifth in the same colour but perhaps more muted. I’d probably then put 2, 4 and 6 in another colour (often useful for jazzy extensions), and then another colour grouping for the remainder (often avoided but with many exceptions). Colouring would be shifted depending on the exact choice of chord – for a minor 7, I’d swap b3 and b7 for the regular 3 and 7.
If I can do that for one string, I can do that for any string and, voila, my algorithm can cope with any number of strings with any tuning, providing a map to identify where to find the notes needed to build a given chord. One of these days, I might even try building it!