Difference between revisions of "fret positioning"

From Noah.org
Jump to navigationJump to search
m
m
Line 41: Line 41:
 
# over a two octave range given an open string length.
 
# 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.
 
# Set string length here. Units don't matter. Output is in the same units.
 
string_length = 35.0
 
string_length = 35.0
Line 50: Line 51:
 
fret_number = 1
 
fret_number = 1
 
for length_factor in fret_length_factors:
 
for length_factor in fret_length_factors:
     print '%3d'%fret_number, '%5.2f'%(length_factor * string_length)
+
     sys.stdout.write('%3d   %5.2f'%(fret_number, (length_factor * string_length)))
 +
    sys.stdout.write('\n')
 
     fret_number += 1
 
     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')
 
</pre>
 
</pre>

Revision as of 11:35, 19 April 2015


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 = 35.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')