Back to index of guitar pages by Donald Sauter.

A Computer Program for Making Guitar Transcriptions

First of all, don't get excited! I do NOT have a computer program for making guitar transcriptions - I'm just floating the idea for others to take off with.

The question is, have we scratched the surface of putting computers to work in the area of arranging music for the guitar? Is there any good reason why a computer program couldn't do a good job, or at least make a useful first pass?

Let's think about this.

First, there's the problem of key selection. Fortunately for the human arranger (but a shame for guitar music listeners and players), there are only a few good guitar keys worth checking out. But even at that, it's a lot of trouble working up the same piece in just the three most likely keys - D, A and E - in order to select the best one.

What is even more unthinkable is tinkering with the tuning of a string here and there to make these or the other keys easier to play the piece in. Whew, where would you start? The number of possible alternate tunings is huge. If we limit ourselves to raising and lowering strings only one or two half-steps from the standard guitar tuning, EADGBE, there are 11529 different tunings. (This doesn't include tunings which are simply transpositions of others. See calculation below.)

Computers, on the other hand, have nothing better to do with their picoseconds. How hard is it to imagine a computer program that takes a piece of music and fits it to the guitar fingerboard in the range of keys and a slew of tunings and makes a determination the "best" transcription based on faithfulness and playability?

I'm guessing it would come back in a fraction of a microsecond with the message, "Cake!"

At first blush you might think that only a human could possibly choose sensible guitar fingerings. But my claim is that our hands are all designed very similarly and work about the same.

I've fingered so much guitar music that sometimes I will make the first pass at a table without the guitar in hand. There are many chords and passages where you know from experience what the only sensible fingering is. Moreover, when I take up the guitar to complete the job, I frequently find myself thinking, "Come on, now - I should have been able to figure that out even without the guitar!" A closer consideration of what fingers were in use, and where I was coming from and where I am going to would have yielded the only reasonable solution.

Is there anything in that that a computer couldn't do? It would cycle through all the keys, and within each key it would cycle through all the tunings, or reasonable tunings, for the given key. It would weed out the least important notes and make octave transpositions to fit the range of the guitar and make the chords playable, individually, at least. The program would calculate a "faithfulness rating" based on the number of notes that had to be thrown out, the number of notes shifted an octave, etc.

Then, using the characteristics of the human hand and the disposition of the strings and frets, the computer program would go through each transcription trying all possible fingerings for each note and chord. It would choose the one with the lowest "difficulty rating" based on the amount of stretch, how many fingers had to be moved, how far they had to move, what's coming next, etc. It would calculate an "overall difficulty rating" for the whole piece in that key and tuning.

When it's finished, it would present the "best" transcription based on faithfulness and playability. The transcription would fall out fully fingered.

Of course, you might want to try out several of the computer's top choices. And have no fear, there would still be plenty for a human to do, adding artistic and guitaristic touches such as strums, slurs, and harmonics.

I mean, I'm not going to write this program, but it sure sounds a lot simpler than a chess program. Anybody out there need a computer or music dissertation project?

10 'This BASIC program COUNTS UP THE NUMBER OF UNIQUE TUNINGS for a 6-string 
20 'guitar.  We restrict each string to be within 2 half-steps above or below 
30 'the normal tuning.  Thus, each string may be tuned to 5 different pitches.
40 'We don't count tunings that are simply transpositions of others.  This 
50 'is accomplished by only counting tunings if at least one of the 6 strings 
60 'is in its lowest tuning.  (Otherwise, the tuning is a transposition.)  
70 'We further speed up the looping within loops by noting that, if a string 
80 'is in its lowest tuning, we can simply add the number of permutations 
90 'of the tunings of the higher strings, rather than count them up one-by-
100 'one via nested loops.
110 '
120 'The final answer is 11529, I'll betcha.  
130 ' 
140 'Variables S1, S2... are indexes that step through the 5 half-step tuning 
150 'range of String 1, 2...
160 '
170 TOTAL=0
180 FOR S1=0 TO 4
190 IF S1=0 THEN TOTAL=TOTAL+5^5 :GOTO 350
200 FOR S2=0 TO 4
210 IF S2=0 THEN TOTAL=TOTAL+5^4 :GOTO 340
220 FOR S3=0 TO 4
230 IF S3=0 THEN TOTAL=TOTAL+5^3 :GOTO 330
240 FOR S4=0 TO 4
250 IF S4=0 THEN TOTAL=TOTAL+5^2 :GOTO 320
260 FOR S5=0 TO 4
270 IF S5=0 THEN TOTAL=TOTAL+5^1 :GOTO 310
280 FOR S6=0 TO 4
290 IF S6=0 THEN TOTAL=TOTAL+5^0 :GOTO 300
300 NEXT S6
310 NEXT S5
320 NEXT S4
330 NEXT S3
340 NEXT S2
350 NEXT S1
360 PRINT "Total number of unique tunings = ";TOTAL
370 END


Contact Donald Sauter: send an email; view guestbook; sign guestbook.
Back to Donald Sauter's main page.
Rather shop than think? Please visit My Little Shop of Rare and Precious Commodities.
Back to the top of this page.

Helpful keywords not in the main text: "cake!" short for "piece of cake!".

Parents, if you're considering tutoring or supplemental education for your child, you may be interested in my observations on Kumon.