和谐音程的发生条件,是冠音的震动频率和根音呈倍数关系。以此为基础,我们做一个简单计算:

首先是八度:

>>> 12\*math.log(2, 2)
12.0

即,12个半音(高八度)是和谐音程。

>>> 12\*math.log(3.0/2, 2)
7.019550008653875
>>> 12\*math.log(4.0/3, 2)
4.980449991346124
>>> 12\*math.log(5.0/4, 2)
3.863137138648348
>>> 12\*math.log(6.0/5, 2)
3.1564128700055254
>>> 12\*math.log(7.0/6, 2)
2.6687090560373763

即,7个半音(纯五度),5个半音(纯四度),约4个半音(大三度),约3个半音(小三度),为和谐音程。由数值可以看出,纯四纯五的和谐程度又超过大三小三,因为和绝对和谐震动比例的误差更小。

再下面也是可以发生和谐音程的,只是误差更大而已。

为什么是“十二平均率”的原因也很清楚了。

>>> 1/(math.log(3.0/2, 2)-math.log(4.0/3, 2))
5.884949192361715

从数值上看,六平均率也是可以的。但是六平均率只能保证第二和三个和谐音程关系在音阶上,要保证第四个,就必须是11平均以上。

>>> 1/(math.log(4.0/3, 2)-math.log(5.0/4, 2))
10.740053666281327

综合两者,12平均率可以基本保证第二三四三个和谐音程都在音阶上。

同时,也基本满足人类对声音的分辨能力。