设吉他的某弦的最大发声弦长为LL,设00品的发声频率为aa,第xx品的发声频率为f(x)f(x),对应的发声弦长为g(x)g(x)

已知当x=0x=0时,f(0)=a,g(0)=Lf(0)=a,g(0)=L

根据物理规律,一根弦振动的发声频率与有效发声弦长呈反比,则有f(x)g(x)=kf(x)\cdot g(x) = k成立。

x=0x=0时,可得k=aLk=aL

由十二平均律可得,第xx品的发声频率f(x)=2112xaf(x)=2^{\frac{1}{12}x} \cdot a

琴弦中的某一位置为kLk \cdot L,则g(x)=kLg(x)=k \cdot L

k=mnk=\frac{m}{n},m,nm,n是互质的两个正整数,1<m<n1<m<n

联立以上关系式,得到2112xmn=12^{\frac{1}{12}x} \cdot \frac{m}{n}=1

则有

x=12(log2nlog2m)x = 12 \cdot (log_2 n - log_2 m)

列出m,n,x打表如下,可在吉他上找到如下的泛音点:

1
2
3
4
5
6
7
8
9
10
11
12
13
print('|m|n|x|round(x)|')
print('|-|-|-|-|')

s = set()
for n in range(2,1+8):
for m in range(1,n):
# m,n 互质
if gcd(m, n) == 1:
x = 12 * (log(n,2) - log(m, 2))
print(f'|{m}|{n}|{round(x,2)}|{round(x)}|')
s.add(round(x))

print(s)
m n x round(x)
1 2 12.0 12
1 3 19.02 19
2 3 7.02 7
1 4 24.0 24
3 4 4.98 5
1 5 27.86 28
2 5 15.86 16
3 5 8.84 9
4 5 3.86 4
1 6 31.02 31
5 6 3.16 3
1 7 33.69 34
2 7 21.69 22
3 7 14.67 15
4 7 9.69 10
5 7 5.83 6
6 7 2.67 3
1 8 36.0 36
3 8 16.98 17
5 8 8.14 8
7 8 2.31 2

随着n的增加,泛音将变得越来越不明显,越靠前的泛音越常用。