钢琴是走音的:一场持续两千年的数学妥协

我家有台电子琴,儿子乱按的时候我偶尔会去弹两下。有一次我把它接上电脑,录了一段 C 大三和弦,想看看这三个音的频率到底是多少。

结果是 261.63 / 329.63 / 392.00 Hz。

然后我按"物理上应该是什么"算了一遍:261.63 / 327.03 / 392.44 Hz。

中间的 E 差了 2.6 Hz。

老钢琴琴键特写:黑白键已经泛黄

2.6 Hz 听起来不多,但它落在人耳最敏感的中频区,换算成音乐家的尺子大约是 13.7 个"音分"——而这个尺子上,训练有素的耳朵能分辨 5 到 10 音分。

也就是说:这台琴是走音的,而且走得很明显。

问题是,全世界的钢琴都这么走。

下面所有数字都是我用代码算出来的(Node v24.16.0,本机 Linux x86_64),没有一个来自"据说"。

# 一、先造一把尺子:音分

频率是乘性的——220 Hz 到 440 Hz 和 440 Hz 到 880 Hz 听起来是同一个距离(一个八度),但前者差 220 Hz,后者差 440 Hz。所以音乐里不能用 Hz 之差衡量音高距离,得用比值。

于是有了音分(cent):一个八度等分成 1200 份。

const cents = (r) => 1200 * Math.log2(r) // r 是两个频率之比

1 音分 = 2^(1/1200) = 1.0005778 倍。一个半音 = 100 音分,正好。

有了这把尺子,"准不准"就可以量化了。人耳的分辨阈值(JND)大致是:

场景 阈值
音乐家听同时发声的两个音 约 5 ~ 10 音分
普通人听先后发声的音高 约 20 ~ 30 音分
1 个半音 100 音分

记住"5~10 音分"这个数,后面所有的误差都要拿它来称。

# 二、凭什么 5:4 比 1.2599 好听

一根弦振动时,不只发出一个频率。它同时发出 f、2f、3f、4f……整列的谐波(泛音)。

所以当两个音一起响时,你听到的不是两个频率,是两列谐波在互相撞。撞得越少越顺,撞得越多越"毛"。

那"纯律"的大三度为什么是 5:4?因为 440 Hz 的第 5 个谐波是 2200 Hz,而 550 Hz(= 440 × 5/4)的第 4 个谐波正好也是 2200 Hz——两个谐波精确重合。

这件事不用靠耳朵,可以纯用物理算出来。我照着 Plomp & Levelt / Sethares 的不协和度模型写了个函数:两两谐波,频率差落在临界带宽附近就产生不协和,超出带宽就各走各的,谐波序号越高、幅度越弱、贡献越小。然后把频率比从 1.0 扫到 2.0,找不协和度的谷底。

模型算出来的谷底是十个:

1.143  1.167  1.200  1.250  1.333  1.400  1.500  1.600  1.667  1.750

对照简单整数比:

1.143 = 8/7    1.167 = 7/6    1.200 = 6/5    1.250 = 5/4    1.333 = 4/3
1.400 = 7/5    1.500 = 3/2    1.600 = 8/5    1.667 = 5/3    1.750 = 7/4

十个谷底,十个整数比,一个不落。

这个模型的完整结果长这样(数值越小越和谐):

音程 比例 不协和度
同度 1/1 1.101e-3
八度 2/1 1.108e-3
纯五度 3/2 1.232e-2
纯四度 4/3 2.023e-2
大三度 5/4 2.448e-2
小三度 6/5 2.602e-2
大六度 5/3 3.285e-2
大二度 9/8 3.879e-2
小六度 8/5 4.511e-2
三全音 45/32 4.558e-2
小二度 16/15 7.391e-2
大七度 15/8 1.062e-1

同度和八度几乎为 0,纯五度最低,小二度和大七度最刺耳——这跟人类几千年总结出来的"协和音程表"完全一致,而这个表里没有一条来自听觉实验,全部来自谐波打架的算术。

所以"整数比好听"不是文化习惯,是物理。

# 三、毕达哥拉斯的 3:2,和那道 23.46 音分的裂缝

既然整数比好听,那就都用整数比好了。最早这么干的是毕达哥拉斯:他拿一根弦(单弦琴),按 2:1 得到八度,按 3:2 得到纯五度。

按毕达哥拉斯方法制作的单弦琴

从 C 出发,不断向上取纯五度:C → G → D → A → E → B → F# → C# → G# → D# → A# → E# → 应该回到 C。

我用代码算了一下:

(3/2)^12 = 129.746338
2^7      = 128
(3/2)^12 / 2^7 = 1.0136432648 = 23.4600 音分

12 个纯五度 ≠ 7 个八度。 差 23.46 音分,接近四分之一个半音。这就是著名的毕达哥拉斯音差。

这个差值不会消失,它必须被塞到某处。塞在哪?塞在最后一个五度上——于是这台琴的 12 个五度里,11 个是完美的 701.955 音分,剩下那一个是 678.49 音分,被压扁了 23.46 音分。

中世纪的管风琴师给这个音起了个名字:狼音(wolf interval)。因为它响起来像狼嚎。

钢琴内部的弦与音板

更麻烦的是,五度相生律只保证五度和四度是纯的,三度全崩了:

音程 纯律 五度相生律 差
纯四度 498.04 498.04 0.00
纯五度 701.96 701.96 0.00
大三度 386.31 407.82 +21.51
小三度 315.64 294.13 -21.51
大六度 884.36 905.87 +21.51
小六度 813.69 792.18 -21.51

21.51 音分,是 JND 上限的两倍多。在中世纪这没关系——那时的音乐主要是纯五度和八度,三度还被认为是"不协和音"。但等到文艺复兴之后三度和弦成为音乐的主角,这套律制就不够用了。

(这个 21.51 音分有个专门的名字叫普通音差,它等于 81/80 = 1.0125,折算过来正好 21.5063 音分。)

# 四、为什么偏偏是 12 个音

把八度 n 等分,让"五度"落在其中的第 k 份上,误差有多大?我把 n 从 1 试到 60,每个 n 都取最接近纯五度的那一份,算五度、大三度、小三度三个音程的误差,取最大值:

n 五度误差 大三度误差 小三度误差 最大误差
12 -1.96 +13.69 -15.64 15.64
19 -7.22 -7.37 +0.15 7.37
31 -5.18 +0.78 -5.96 5.96
34 +3.93 +1.92 +2.01 3.93
41 +0.48 -5.83 +6.31 6.31
53 -0.07 -1.41 +1.34 1.41

1~60 里最大误差最小的十个 n:

n=53(1.41¢)  n=34(3.93¢)  n=46(4.99¢)  n=56(5.79¢)  n=50(5.96¢)
n=31(5.96¢)  n=41(6.31¢)  n=60(6.31¢)  n=58(6.79¢)  n=19(7.37¢)

12 排不进前十。 53 等分几乎完美——误差只有 1.41 音分,人耳根本听不出来。

那为什么是 12?

因为要同时满足另一个条件:12 个音里,五度必须几乎落在整数份上。 用连分数逼近 log₂(3/2) = 0.58496250:

3/5   = 0.60000000   五度误差 +18.045 音分
7/12  = 0.58333333   五度误差  -1.955 音分   ← 就是这里
24/41 = 0.58536585   五度误差  +0.484 音分
31/53 = 0.58490566   五度误差  -0.068 音分

7/12 是在"分母还小得能做成乐器"这个前提下,第一个把五度误差压到 2 音分以内的近似。分母 5 时误差 18 音分(难听),分母 12 时只有 1.96 音分(听不出来)。下一个更好的 41 和 53,意味着键盘上要有 41 个或 53 个键——手指不够用,成本也不答应。

12 不是最优解,是"误差够小 + 键数够少"这个二维约束下的帕累托前沿。

22 平均律的五度圈示意

# 五、平均律赢的不是"准",是"均匀地不准"

这是全文最关键的一句。

十二平均律把八度切成 12 份,每份 100 音分,半音 = 2^(1/12)。它跟纯律的差距是这样的:

音程 纯律 12 平均律 差(音分)
小二度 16/15 1.059463 -11.73
大二度 9/8 1.122462 -3.91
小三度 6/5 1.189207 -15.64
大三度 5/4 1.259921 +13.69
纯四度 4/3 1.334840 +1.96
增四度 45/32 1.414214 +9.78
纯五度 3/2 1.498307 -1.96
小六度 8/5 1.587401 -13.69
大六度 5/3 1.681793 +15.64
小七度 16/9 1.781797 +3.91
大七度 15/8 1.887749 +11.73

11 个音程里,有 6 个偏离超过 10 音分,最大的大六度偏了 15.64 音分。

从"准"这个维度看,平均律输得一塌糊涂。它比五度相生律准(平均绝对误差 10.43 vs 14.34 音分),但都没到"准"的程度。

那它凭什么赢了全世界?

因为五度相生律的误差是结构性的:三度永远高 21.51 音分,而且当你转到需要那个"狼音五度"的调时,整个和弦会塌掉。而平均律的误差是均匀的:

音程 12 平均律 五度相生律
小三度 -15.64 -21.51
大三度 +13.69 +21.51
纯四度 +1.96 0.00
纯五度 -1.96 0.00
小六度 -13.69 -21.51
大六度 +15.64 +21.51
平均绝对误差 10.43 14.34
最大误差 15.64 21.51

关键在于:平均律下,任何一个调的音阶结构都完全一样。 从 C 转到 F#,音程关系一字不差。而五度相生律下,C 大调的纯四度是 498.04 音分,某些调里就变成 521.51 音分(撞上狼音)——同一个曲子换个调就废了。

平均律做了一笔交易:把"某些调完美、某些调崩坏",换成"每个调都同样地、可预测地、恰好还能接受地不准"。

这笔交易的回报是转调自由。巴赫的《平均律键盘曲集》(1722)就是为了证明这一点而写的——48 首前奏曲与赋格,走遍全部 24 个大小调。在此之前,一首曲子基本只能在自己的调里待着。

# 六、朱载堉在 1584 年就把它算出来了

半音是 2 的 12 次方根:

2^(1/12) = 1.059463094359295
连乘 12 次 = 2.000000000000001

这是一个无理数,16 世纪没有计算器。据记载,明朝的朱载堉在 1584 年的《律吕精义》里给出了这个数,精确到小数点后 24 位,与现代计算值在前 15 位完全一致——他用的是算盘。

欧洲那边,Mersenne 在 1636 年的《Harmonie Universelle》里给出了同样的数值,晚了半个世纪。

440 Hz 音叉

我第一次看到这个数字时愣了一下。一个 16 世纪的中国人,用算盘做开方,为一个今天每台电子琴都在用的常数算了 24 位有效数字。而这件事在他的时代几乎没有实用价值——因为那时候的乐器还造不出精确到 2 音分的音。

(顺带一提,第四节里那个误差只有 1.41 音分的 53 等分,在中国传统律学里也有对应——京房六十律、钱乐之三百六十律,都是在往同一个裂缝上凑。它们没被采用的原因和 53 等分一样:太贵。)

# 七、实测:平均律的和弦每秒抖 17 次

上面都是"音分"这种抽象单位。它在耳朵里到底是什么感觉?

是拍频。

两个频率很接近的音一起响,合成波的振幅会以 |f₁ - f₂| 的频率周期性强弱变化,听起来是"呜呜呜"的抖动。频率差越大,抖得越快,越刺耳。

纯律的大三度里,两个谐波精确重合,拍频是 0。平均律里它们错开了,就开始抖。我合成了 48 kHz 的波形(2.5 ms 窗的短时 RMS 包络,观测 8~16 秒,数包络驼峰)实测:

音程 低音谐波 高音谐波 理论拍频 实测拍频 纯律时
纯五度 3/2 1320.00 1318.51 1.490 1.500 0
大三度 5/4 2200.00 2217.46 17.461 17.377 0
小三度 6/5 2640.00 2616.26 23.744 23.750 0
大六度 5/3 2200.00 2219.97 19.967 19.877 0
纯四度 4/3 1760.00 1761.99 1.989 2.000 0

两列正弦波的干涉

弹一个平均律的大三和弦,中间那个音每秒在耳朵里抖 17.4 次;小三度抖 23.7 次。

再回到第二节那个不协和度模型,它会给出更直接的数字——平均律相对纯律"变难听"了多少:

音程 纯律不协和度 12 平均律 增加
纯五度 1.232e-2 1.597e-2 +29.7%
大三度 2.448e-2 3.081e-2 +25.8%
大六度 3.285e-2 4.129e-2 +25.7%
小三度 2.602e-2 2.972e-2 +14.2%
纯四度 2.023e-2 2.238e-2 +10.6%

注意纯四度和纯五度:纯四度只差 1.96 音分,不协和度只涨 10.6%;纯五度同样只差 1.96 音分,却涨了 29.7%。因为纯五度的基数本来就低——它太干净了,稍微动一点,比例上的损失就格外大。

这就是平均律的账单:最干净的那个音程,被收了最贵的税。

# 八、彩蛋:真实钢琴比平均律还要再走一次

写到这里我以为故事结束了。然后想起来一个事:严格按平均律调出来的钢琴,听起来其实是不准的。

因为钢琴弦不是理想弦。真实钢弦有刚度,它的第 n 个谐波不是 n×f₀,而是:

f(n) = n · f₀ · √(1 + B·n²)

B 是非谐性系数,弦越短越粗,B 越大。这意味着每个泛音都比"应该"的位置高一点,而且越高越离谱。

给定 B,第二个谐波偏高多少音分:

B 八度被拉宽 第 8 个谐波
0.0001 0.35 音分 5.52 音分
0.0004 1.38 音分 21.88 音分
0.001 3.46 音分 53.70 音分
0.005 17.14 音分 240.32 音分
0.01 33.95 音分 428.22 音分
0.03 98.10 音分 927.58 音分

调音师没法改物理,只能改调法:他不去对齐基频,而是把上一个音的第 2 个谐波对齐到目标音。结果就是八度被系统性拉宽。

我模拟了一遍从 A4 出发逐八度向上、向下调音的过程:

A0 → A1:  1200.35 音分  (+0.35)
A1 → A2:  1200.58 音分  (+0.58)
A2 → A3:  1200.98 音分  (+0.98)
A3 → A4:  1201.65 音分  (+1.65)
A4 → A5:  1202.77 音分  (+2.77)
A5 → A6:  1204.65 音分  (+4.65)
A6 → A7:  1207.80 音分  (+7.80)

每个八度都比 1200 音分宽一点,越往高音越宽。累积下来,A0 偏低 3.55 音分,A7 偏高 15.21 音分,两端相差 18.76 音分。

(我这个模型的 B 取值偏保守。真实的 Railsback 曲线是 1940 年实测出来的,两端偏差接近 -20 ~ +30 音分,形状跟我这条一样:低音偏低,高音偏高,中间在 A4 附近对上平均律。)

所以一台"调好了"的钢琴,高音区比平均律高 15~30 音分,而平均律本身已经比纯律高了 15.64 音分。

你的钢琴是走音的,走在一个走音的标准上。

这不是调音师的失误——恰恰相反,这是唯一能让整台琴听起来"不打架"的办法。耳朵要的是谐波对齐,不是频率对齐。

# 九、一份清单

  1. 八度等分成 1200 音分,人耳能分辨 5~10 音分。 这是全文的度量衡。
  2. 整数比好听是物理,不是习惯。 不协和度模型纯靠谐波算术,扫出的六个谷底精确命中 6/5、5/4、4/3、3/2、8/5、5/3。
  3. 12 个纯五度 ≠ 7 个八度,差 23.46 音分。 这个数必须被塞到某处,于是有了狼音五度(678.49 音分 vs 正常的 701.955)。
  4. 五度相生律的三度全都高 21.51 音分,是 JND 上限的两倍。它在三度和弦成为主角之后就淘汰了。
  5. 12 不是最优解。 1~60 等分里有 9 个比 12 准,53 等分误差只有 1.41 音分。12 赢在连分数 7/12 把五度误差压到 1.96 音分的同时,键数还装得下。
  6. 平均律赢的是"均匀",不是"准"。 最大误差 15.64 音分,比五度相生律的 21.51 好,但都不算准。它换来的是任意转调。
  7. 最干净的音程交最贵的税。 纯五度只差 1.96 音分,不协和度却涨了 29.7%。
  8. 平均律的和弦每秒抖 17~24 次,纯律时是 0。
  9. 朱载堉 1584 年用算盘把这个无理数算到了小数点后 24 位。
  10. 真实钢琴比平均律还要再走一次,非谐性让高音区的八度宽到 1207.80 音分,两端累积偏差约 19 音分(真实 Railsback 曲线接近 50)。

回到开头那台电子琴。

我后来查了一下,它不是"没调好",它就是按十二平均律来的,跟全世界每一台琴一样。那个高 2.6 Hz 的 E,是 1584 年一个明朝人用算盘算出来的结果,经过四百年,变成了我儿子乱按时的一个音。

有些妥协一旦被普遍接受,就再也没人觉得它是妥协了。平均律大概是人类史上最成功的一次"把问题摊平"——它没有解决音不准的问题,它让音不准变成了一种 everywhere 的常量,于是所有人都可以假装它不存在。

除了物理。物理一直记得那 13.69 音分。


# 图片版权