Day 55 · 2026.08.16

数学与音乐(深化)

音阶是数论、节奏是群论、听觉是调和分析、作曲是长程依赖
"音乐是灵魂在无意识地数数时得到的快乐。" — Leibniz,1712 年致 Goldbach 的信

音阶作为丢番图逼近

Scales as Diophantine Approximation · 为什么偏偏是 12
Number Theory
直觉版

音乐只有两个近乎天然的音程:八度(频率 ×2)和纯五度(×3/2)。麻烦在于二者不相容——沿五度一路往上走,你永远回不到起点:$(3/2)^m = 2^n$ 要求 $3^m = 2^{n+m}$,唯一分解定理一票否决。

所以音阶必然是妥协,而妥协有最优解:把八度切成 $q$ 等份,哪个 $q$ 让纯五度最接近某个格点?音乐问题就此变成数论问题——用小分母有理数逼近一个无理数

正式定义

令 $x=\log_2(3/2)=0.5849625\ldots$,它表示「纯五度在一个八度中占的比例」。求分数 $p/q$ 使 $|x-p/q|$ 最小——$q$ 是八度的等分数,$p$ 是五度跨几份。连分数展开与渐近分数为:

$x = [0;1,1,2,2,3,1,5,\ldots] \Rightarrow \tfrac{1}{2},\ \tfrac{3}{5},\ \tfrac{7}{12},\ \tfrac{24}{41},\ \tfrac{31}{53}$

最佳逼近定理保证:渐近分数满足 $|x-p/q| < 1/q^2$,且分母不超过 $q$ 的分数都不会更接近。$3/5$ 即五声音阶,$7/12$ 即十二平均律(五度跨 7 个半音)。以 1200 音分为一个八度,纯五度是 701.96:十二平均律给 700(差 −1.96),53 等分给 701.89(差 −0.07,远低于人耳约 5 音分的分辨阈)。

0 音分 +20 −20 5 +18.0 7 −16.2 12 −1.96 19 31 41 53 −0.07 纯五度在 N 等分律中的误差(音分)
为什么美

五声音阶与十二律不是文化偶然,它们是同一个连分数的相邻两项。中国的三分损益、毕达哥拉斯的五度相生、阿拉伯的 17 律、印度的 22 śruti——彼此隔绝的文明各自摸索,却全落在这条渐近分数序列附近:数论的收敛性把不同文化推向了同一批格点。

更耐人寻味的是 53:它在数学上近乎完美(Nicholas Mercator 与京房的六十律都触到过),却没有任何主流乐器采用。最优解与可弹奏的解之间隔着一道工程的墙——十二平均律赢的从来不是精度,是手指数和琴键宽度。

应用

同一台连分数机器在别处照常运转:轨道共振(木卫一、二、三锁在 1:2:4)、齿轮齿数设计、历法置闰的默冬周期、锁相环的分频比选取。KAM 定理给出反面版本:最难被有理数逼近的频率比(黄金比)对应最不易被共振撕碎的轨道——土星环的缝隙与钢琴的调律是同一道题。

一句话精华 + 思考题
音阶是一次丢番图逼近的历史落点:12 之所以是 12,因为 $7/12$ 是 $\log_2(3/2)$ 在小分母里的最佳有理逼近。
思考:若人耳的分辨率再高一个数量级,钢琴会长出 53 个键吗——还是身体的约束永远排在数学之前?

节奏的群论

Rhythm on the Cyclic Group · 圆环上的子集
Group Theory · Combinatorics
直觉版

把一小节的 $n$ 个脉冲摆成一圈,敲击的位置涂黑——节奏就是圆环上的一个子集。同一串鼓点从第几拍进入,只是「同一个节奏的不同入口」,数学上就是循环群 $\mathbb{Z}_n$ 的旋转作用,一个节奏 = 一条轨道(项链)。「世界上有多少种 8 拍节奏」于是成了一道计数题。

第二个直觉:好听的鼓点往往是把 $k$ 次敲击尽可能均匀地撒进 $n$ 个格子。当 $k$ 不整除 $n$,「尽可能均匀」需要一个算法——那个算法恰好是欧几里得辗转相除。

正式定义

节奏是子集 $A\subseteq\mathbb{Z}_n$,旋转作用为 $A\mapsto A+1$。由 Burnside 引理,长度 $n$ 的节奏项链数为:

$\displaystyle \frac{1}{n}\sum_{d\mid n}\varphi(d)\,2^{n/d}$

$\varphi$ 是欧拉函数,$2^{n/d}$ 数的是被周期为 $d$ 的旋转所固定的模式。$n=8$ 时结果是 36——256 个二进制模式坍缩成 36 个真正不同的节奏欧几里得节奏 $E(k,n)$ 由 Bjorklund 算法给出:对 $(k,\,n-k)$ 做辗转相除,得到 $\mathbb{Z}_n$ 上的极大均匀集。$E(3,8)=\texttt{x..x..x.}$ 是古巴 tresillo,$E(5,16)$ 是 bossa nova 的 clave。

E(3,8) tresillo · 间隔 3-3-2 E(5,16) bossa nova · 间隔 3-3-4-3-3
为什么美

最惊人的一条恒等式是 $E(7,12)$ ——把 7 个点极大均匀地撒进 12 格,得到的正是大调音阶。同一个「最大均匀」算法,放在时间轴上给出全世界的鼓点,放在频率轴上给出西方的七声音阶:音高与节奏原来是同一个组合对象的两次切片。

还有一条冷冰冰的旁证:Bjorklund 的算法本是为 Los Alamos 散裂中子源写的定时脉冲分配程序,与音乐毫无关系,却算出了同一批传统节奏——Toussaint 比对数十条世界节奏,几乎全部命中。

应用

「把 $k$ 个事件尽量摊平到 $n$ 个槽」是分布式系统的日常:定时器分频、CPU 配额调度、限流器的令牌发放、一致性哈希的虚节点撒点——Bresenham 画直线用的正是同一个算法。群论那一半提供节奏指纹:比对轨道而非序列,识别循环采样时天然对起点无关。

一句话精华 + 思考题
节奏是循环群上的子集,动听的节奏是最均匀的那些——而「最均匀」由欧几里得算法算出。
思考:clave 换一个起点听感确实变了,「轨道」这个等价类是否抹掉了听觉中真实存在的信息?数学的等价与感知的等价,何时该分道扬镳?

时频不确定性与常数 Q

Time–Frequency Uncertainty · 音乐坐标系的天然对数刻度
Harmonic Analysis
直觉版

要判断「这是什么音」,你必须听上一段时间——音高是靠数周期数出来的,窗口越短能数的周期越少,音高就越糊。反过来,要精确知道「什么时候敲下去」,得用极短的窗口,那时几乎没有频率信息。

这不是设备不够好,而是波本身的性质:又短又纯的音在数学上不存在。傅里叶变换(Day 40)只说有哪些频率,不说它们何时发生;同时问这两件事,就得付一笔无法讨价还价的账。

正式定义
$\Delta t \cdot \Delta f \;\ge\; \dfrac{1}{4\pi}$

$\Delta t$ 是信号能量在时间轴上的标准差,$\Delta f$ 是它在频率轴上的标准差;等号仅在高斯窗取到——这正是 Gabor 原子采用高斯包络的理由。工程口径更好记:窗长 $T$ 秒,频率分辨率约 $1/T$ 赫兹。

常数 Q 变换换一种花钱方式:让每个频点的相对分辨率保持恒定,$Q=f_k/\Delta f_k$,频点按 $f_k=f_0\,2^{k/b}$ 对数排布。要分辨半音,需 $\Delta f/f = 2^{1/12}-1\approx 5.9\%$,即 $Q\approx 17$:低频用长窗,高频用短窗。

均匀 STFT:等宽格子 常数 Q:按对数分配 时间 → 频率 ↑(线性) 高音区细在时间,低音区细在频率
为什么美

傅里叶给的是均匀的频率格子,音乐却活在对数格子上:30 Hz 附近一个半音只差 1.8 Hz,3000 Hz 处却差近 180 Hz。均匀 STFT 必然在低音区分不开、在高音区大量浪费。常数 Q 给每个频段配一个与其波长成比例的窗,等于把不确定性的预算按音乐自身的几何重新分配。

这不只是工程技巧:对数频率不是记谱法的人为约定——耳蜗基底膜的位置-频率映射本就近似对数,小波分析独立给出同一族「尺度自相似」的原子,生理、数学、乐理三条路收敛到同一坐标系。它甚至写死了一条作曲规则:低音要更长时间才听得清,贝斯天生不适合极快的跑动。

应用

相位声码器把「变速」与「变调」解耦,是全部修音与拉伸软件的地基;CQT 与 mel 频谱是几乎所有音乐 AI 的前端表示(自动扒谱、和弦识别、音频生成模型的输入)。在量子力学里,同一条不等式叫 Heisenberg 原理——位置-动量与时间-频率是同一对傅里叶共轭变量。

一句话精华 + 思考题
「又短又准」是数学禁止的;音乐里所有关于速度与音区的听感权衡,都是这条不等式的推论。
思考:人能分辨小于 10 毫秒的起音差异,看似突破了分辨率的墙——听觉是绕过了不确定性,还是它本就不是一个线性变换?

算法作曲与长程结构

Algorithmic Composition · 指数记忆与幂律形式之间的沟
Probability · Machine Learning
直觉版

让机器写曲子最朴素的办法:统计前几个音符之后最常出现什么,再按概率抽样。1957 年 Hiller 与 Isaacson 的《Illiac Suite》——第一首计算机作品——就是这么写的。结果很有代表性:局部像模像样,整体一盘散沙,听 30 秒像音乐,听 3 分钟发现它什么也没说。

症结可以精确讲出来:马尔可夫链的记忆随距离指数衰减,音乐的结构却是幂律的——第二段呼应第一段,意味着几百个音符之外仍有关联。这道沟靠增大阶数 $k$ 填不上。

正式定义
$\displaystyle p(x_{1:T}) = \prod_{t=1}^{T} p\!\left(x_t \mid x_{

这是自回归分解:每个音符以全部历史为条件,$x_{幂律没有特征尺度,指数有:这是结构性的差距,不是参数没调好。

马尔可夫:只有相邻的短弧 形式:远距离的呼应
为什么美

这把「音乐有形式」翻译成了一个可测量的统计签名。幂律意味着无特征尺度,无特征尺度意味着自相似(Day 17 的分形):主题—展开—再现的层级结构,在统计上留下了与临界现象同款的指纹。

修补方式同样是数学的,且只有两条:把层级显式写进模型(Schenker 分析、GTTM 的树状语法),或让模型直接看到几百步以外——Transformer 的注意力正是「任意两点直接连边」,相对位置编码把「距上次出现多少拍」变成可学的量。Music Transformer 第一次生成出带真实再现段的钢琴曲,本质是拆掉了指数衰减这堵墙。

应用

音乐生成模型(MIDI 事件或音频 token)、伴奏与续写工具是最直接的落地。同一套长程依赖分析被搬去评估语言模型(为什么困惑度很低却在长文里跑题)、检测 DNA 的长程相关、诊断代码补全的跨文件依赖。Xenakis 的另一条路也还活着:不建模音符而建模分布,今天的扩散模型是它的远亲。

一句话精华 + 思考题
作曲难的从来不是下一个音符,而是让第 200 个音符记得第 1 个。
思考:若给模型无限长的上下文,形式感会自己涌现,还是层级结构必须被显式表示才能被学到?

深入思考

十二平均律的大三度偏了 +13.7 音分,是五度误差的七倍,为什么反而更容易被接受?
因为可听度取决于拍频而非音分。五度失谐 −2 音分在中央 C 附近约每秒 0.9 次拍,几乎察觉不到;三度失谐 13.7 音分则近每秒 10 次,正落在最刺耳的粗糙度区间。它之所以被容忍:一是钢琴的泛音本就不严格成整数比(弦的刚度带来 inharmonicity),二是三百年的听觉训练把这点浑浊重新编码成了「明亮」。数学的小误差与感知的大误差,用的是两把尺子。
音阶与节奏共用「极大均匀」这一个定理,为什么等分节奏听起来机械,而大调音阶听起来自然?
关键在均匀集是否还留着一点不对称。$E(7,12)$ 的间隔序列是 2-2-1-2-2-2-1,两种步长的不均等恰好制造了定位感——你能听出「现在在音阶的哪一级」。而完全等分的节奏(或全音阶)间隔全同,任何旋转都回到自身,听觉失去参照点也就失去张力。美感似乎恰在「几乎均匀但破了一点对称」处——完美对称携带的信息量为零,这与 Day 18 的对称破缺是同一直觉。
如果「好听」可以被互信息或压缩率刻画,它是否就成了一个可优化的目标函数?
Schmidhuber 的「压缩进步」理论正是这么主张的:美感 = 观察者的压缩器正在快速改进的那一刻——不是最可压缩(无聊),也不是不可压缩(噪声)。难点在于它相对于观察者且随时间移动:同一首曲子听第十遍不再有进步,压缩率却没变。一旦把固定指标当目标优化,Goodhart 定律立刻生效——模型学会制造统计上的惊喜而非音乐上的。
四个概念之间有统一的主线吗?
有:音乐是在连续的物理量上强加离散结构,而每一层的代价都能被算出来。频率被 $\mathbb{Z}_{12}$ 切开,代价是丢番图逼近的残差;时刻被 $\mathbb{Z}_n$ 切开,代价由极大均匀集最小化;听觉在离散化之前先受一条不等式约束,代价是时频分辨率之积;作曲要在离散符号串上重建长程秩序,代价是互信息的衰减律。离散化必然有损,音乐的形式感就长在这些损失的形状里