从频率角度说明音程的和协性

从频率角度讲,C与高一个八度的C相差2倍。一个八度被分成12项的等比数列,公比为2^(1/12),即2的12分之一次方。
以下是各音的国际标准频率值

1
2
3
4
5
6
7
C - do - 261.6 Hz
D - re - 293.6 Hz
E - mi - 329.6 Hz
F - fa - 349.2 Hz
G - so - 392 Hz
A - la - 440 Hz
B - si - 493.8 Hz

在钢琴键盘上可以看到,C与F相差5个半音,C与G相差7个半音,我们来验算一下

1
2
3
4
5
6
7
>>> import numpy as np
>>> 261.6 * np.power(2, 5/12)
349.19410585088104 # F - 349.2 Hz
>>> 261.6 * np.power(2, 7/12)
391.95713131093993 # G - 392 Hz
>>> 261.6 * np.power(2, 9/12)
439.95700446074346 # A - 440 Hz

乐理中说

1
2
3
八度(12个半音)极完全协和
纯四度(5个半音)、纯五度(7个半音)完全协和
三全音(6个半音)不协和

为什么纯四度、纯五度协和呢?
两个音之所以协和,是因为彼此之间是简单的倍数关系,如八度是2倍的关系。
纯四度是2^(5/12)倍关系,纯五度是2^(7/12)倍关系,不是简单倍数啊!
其实,2^(5/12)约等于1+1/3即4/3,2^(7/12)约等于1+1/2即3/2
我们在python中验算一下

1
2
3
4
5
6
7
8
>>> np.power(2, 5/12)
1.3348398541700344
>>> 1+1/3
1.3333333333333333
>>> np.power(2, 7/12)
1.4983070768766815
>>> 1+1/2
1.5

另外,
1+1/5即6/5靠近2^(3/12),所以相隔小三度(3个半音)比如C键与Eb键同时发声时不难听;
1+1/4即5/4靠近2^(4/12),所以相隔大三度(4个半音)比如C键与E键同时按下不难听;
1+2/3即5/3靠近2^(9/12),所以相隔大六度(9个半音)比如C键与A键同时发声时不难听。
这是三和弦、七和弦存在的理论前提。

而三全音是2^(6/12)倍即根号2倍的关系,是无理数,所以不协和,如C键与F#键同时按下,或者F键和B键同时按下就难听。

我们举一个生活中的例子,我们拉直一根弦,这时我们把此弦看成数轴,原点在固定弦一端的地方,随便手捏住弦的另一处,弹此弦定为C音,手捏的点则为数轴上刻度为1的位置;再手捏的刻度为4/3处则发出F(fa)音;手捏的刻度为3/2处发出G(so)音;手捏的刻度为2处发出高一个八度的C音;而手捏刻度为1/2处发出的是低八度的C音。