fret positioning
Rough fret positions
12th fret: 1/2 of the string's length
9th fret: 2/5 of the string's length
7th fret: 1/3 of the string's length
5th fret: 1/4 of the string's length
4th fret: 1/5 of the string's length
Taylor Formula
For precise calculations.
Taylor formula:
- string tension
- F
- string length
- l
- frequency
- f
- string diameter
- d
- string density
- Ro
- Pi=3.14159
- π
F = (2l/f)2*π*d2/4*Ro
Equal Temperament
To calculate distance from FretA to FretB divide the Scale Length Remaining (FretA to bridge) by 17.817. Three digits of precision is impossible. In fact in the old days they just used 18 instead of 17.817. You might also see 17.835 in old references. This value was used to add in a fudge factor to accommodate the musical tastes of the time (sort of how the standard for the pitch of A above middle C wasn't always 440 Hz (Concert Pitch)).
fret # factor 1 0.056126 2 0.109101 3 0.159104 4 0.206291 5 0.250847 6 0.292893 7 0.33258 8 0.370039 9 0.405396 10 0.438769 11 0.470268 12 0.5 13 0.528063 14 0.554551 15 0.579552 16 0.60315 17 0.625423 18 0.646447 19 0.66629 20 0.68502 21 0.702698 22 0.719385 23 0.735134 24 0.75
d = s – (s / 2(n / 12))
- d
- distance from nut to fret number, n
- s
- scale or string length
- n
- fret number
Here is a little Python script that will output fret positions given a string length.
#!/usr/bin/env python # This will print the distance from the nut to each fret # over a two octave range given an open string length. import sys # Set string length here. Units don't matter. Output is in the same units. string_length = 14.0 fret_length_factors = [ 0.056126, 0.109101, 0.159104, 0.206291, 0.250847, 0.292893, 0.33258, 0.370039, 0.405396, 0.438769, 0.470268, 0.5, 0.528063, 0.554551, 0.579552, 0.60315, 0.625423, 0.646447, 0.66629, 0.68502, 0.702698, 0.719385, 0.735134, 0.75 ] fret_number = 1 for length_factor in fret_length_factors: sys.stdout.write('%3d %5.2f'%(fret_number, (length_factor * string_length))) sys.stdout.write('\n') fret_number += 1 sys.stdout.write('\n') # This should give the same results. # This calculates the same information in a different way. for fret_number in range(1,25): fret_distance = string_length - (string_length / (2 ** (fret_number/12.0))) sys.stdout.write('%3d %5.2f'%(fret_number, fret_distance)) sys.stdout.write('\n')
Gives the following table:
fret distance from number nut to fret 1 0.79 2 1.53 3 2.23 4 2.89 5 3.51 6 4.10 7 4.66 8 5.18 9 5.68 10 6.14 11 6.58 12 7.00 13 7.39 14 7.76 15 8.11 16 8.44 17 8.76 18 9.05 19 9.33 20 9.59 21 9.84 22 10.07 23 10.29 24 10.50