钢琴是走音的:一场持续两千年的数学妥协
- 作者:Bougie
- 创建于:2026-10-17
我家有台电子琴,儿子乱按的时候我偶尔会去弹两下。有一次我把它接上电脑,录了一段 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 不是最优解,是"误差够小 + 键数够少"这个二维约束下的帕累托前沿。

# 五、平均律赢的不是"准",是"均匀地不准"
这是全文最关键的一句。
十二平均律把八度切成 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》里给出了同样的数值,晚了半个世纪。

我第一次看到这个数字时愣了一下。一个 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 音分。
你的钢琴是走音的,走在一个走音的标准上。
这不是调音师的失误——恰恰相反,这是唯一能让整台琴听起来"不打架"的办法。耳朵要的是谐波对齐,不是频率对齐。
# 九、一份清单
- 八度等分成 1200 音分,人耳能分辨 5~10 音分。 这是全文的度量衡。
- 整数比好听是物理,不是习惯。 不协和度模型纯靠谐波算术,扫出的六个谷底精确命中 6/5、5/4、4/3、3/2、8/5、5/3。
- 12 个纯五度 ≠ 7 个八度,差 23.46 音分。 这个数必须被塞到某处,于是有了狼音五度(678.49 音分 vs 正常的 701.955)。
- 五度相生律的三度全都高 21.51 音分,是 JND 上限的两倍。它在三度和弦成为主角之后就淘汰了。
- 12 不是最优解。 1~60 等分里有 9 个比 12 准,53 等分误差只有 1.41 音分。12 赢在连分数 7/12 把五度误差压到 1.96 音分的同时,键数还装得下。
- 平均律赢的是"均匀",不是"准"。 最大误差 15.64 音分,比五度相生律的 21.51 好,但都不算准。它换来的是任意转调。
- 最干净的音程交最贵的税。 纯五度只差 1.96 音分,不协和度却涨了 29.7%。
- 平均律的和弦每秒抖 17~24 次,纯律时是 0。
- 朱载堉 1584 年用算盘把这个无理数算到了小数点后 24 位。
- 真实钢琴比平均律还要再走一次,非谐性让高音区的八度宽到 1207.80 音分,两端累积偏差约 19 音分(真实 Railsback 曲线接近 50)。
回到开头那台电子琴。
我后来查了一下,它不是"没调好",它就是按十二平均律来的,跟全世界每一台琴一样。那个高 2.6 Hz 的 E,是 1584 年一个明朝人用算盘算出来的结果,经过四百年,变成了我儿子乱按时的一个音。
有些妥协一旦被普遍接受,就再也没人觉得它是妥协了。平均律大概是人类史上最成功的一次"把问题摊平"——它没有解决音不准的问题,它让音不准变成了一种 everywhere 的常量,于是所有人都可以假装它不存在。
除了物理。物理一直记得那 13.69 音分。
# 图片版权
- 封面:Closeup of the old broken piano keys (opens new window) — Shixart1985,CC BY 2.0
- 图一:Monochord nach Pythagoras (opens new window) — Lale Ohlrogge,CC BY-SA 4.0
- 图二:22-TET circle of fifths A (opens new window) — Hyacinth,Public domain
- 图三:Interference of sine waves (opens new window) — Brews ohare,CC BY-SA 3.0
- 图四:Diapason Wittner à 440 Hz (opens new window) — Édouard Hue,CC BY-SA 3.0
- 图五:Steinway grand piano interior (opens new window) — Kjethdubns,CC0