音乐只有两个近乎天然的音程:八度(频率 ×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-p/q| < 1/q^2$,且分母不超过 $q$ 的分数都不会更接近。$3/5$ 即五声音阶,$7/12$ 即十二平均律(五度跨 7 个半音)。以 1200 音分为一个八度,纯五度是 701.96:十二平均律给 700(差 −1.96),53 等分给 701.89(差 −0.07,远低于人耳约 5 音分的分辨阈)。
五声音阶与十二律不是文化偶然,它们是同一个连分数的相邻两项。中国的三分损益、毕达哥拉斯的五度相生、阿拉伯的 17 律、印度的 22 śruti——彼此隔绝的文明各自摸索,却全落在这条渐近分数序列附近:数论的收敛性把不同文化推向了同一批格点。
更耐人寻味的是 53:它在数学上近乎完美(Nicholas Mercator 与京房的六十律都触到过),却没有任何主流乐器采用。最优解与可弹奏的解之间隔着一道工程的墙——十二平均律赢的从来不是精度,是手指数和琴键宽度。
同一台连分数机器在别处照常运转:轨道共振(木卫一、二、三锁在 1:2:4)、齿轮齿数设计、历法置闰的默冬周期、锁相环的分频比选取。KAM 定理给出反面版本:最难被有理数逼近的频率比(黄金比)对应最不易被共振撕碎的轨道——土星环的缝隙与钢琴的调律是同一道题。
把一小节的 $n$ 个脉冲摆成一圈,敲击的位置涂黑——节奏就是圆环上的一个子集。同一串鼓点从第几拍进入,只是「同一个节奏的不同入口」,数学上就是循环群 $\mathbb{Z}_n$ 的旋转作用,一个节奏 = 一条轨道(项链)。「世界上有多少种 8 拍节奏」于是成了一道计数题。
第二个直觉:好听的鼓点往往是把 $k$ 次敲击尽可能均匀地撒进 $n$ 个格子。当 $k$ 不整除 $n$,「尽可能均匀」需要一个算法——那个算法恰好是欧几里得辗转相除。
节奏是子集 $A\subseteq\mathbb{Z}_n$,旋转作用为 $A\mapsto A+1$。由 Burnside 引理,长度 $n$ 的节奏项链数为:
$\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(7,12)$ ——把 7 个点极大均匀地撒进 12 格,得到的正是大调音阶。同一个「最大均匀」算法,放在时间轴上给出全世界的鼓点,放在频率轴上给出西方的七声音阶:音高与节奏原来是同一个组合对象的两次切片。
还有一条冷冰冰的旁证:Bjorklund 的算法本是为 Los Alamos 散裂中子源写的定时脉冲分配程序,与音乐毫无关系,却算出了同一批传统节奏——Toussaint 比对数十条世界节奏,几乎全部命中。
「把 $k$ 个事件尽量摊平到 $n$ 个槽」是分布式系统的日常:定时器分频、CPU 配额调度、限流器的令牌发放、一致性哈希的虚节点撒点——Bresenham 画直线用的正是同一个算法。群论那一半提供节奏指纹:比对轨道而非序列,识别循环采样时天然对起点无关。
要判断「这是什么音」,你必须听上一段时间——音高是靠数周期数出来的,窗口越短能数的周期越少,音高就越糊。反过来,要精确知道「什么时候敲下去」,得用极短的窗口,那时几乎没有频率信息。
这不是设备不够好,而是波本身的性质:又短又纯的音在数学上不存在。傅里叶变换(Day 40)只说有哪些频率,不说它们何时发生;同时问这两件事,就得付一笔无法讨价还价的账。
$\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$:低频用长窗,高频用短窗。
傅里叶给的是均匀的频率格子,音乐却活在对数格子上:30 Hz 附近一个半音只差 1.8 Hz,3000 Hz 处却差近 180 Hz。均匀 STFT 必然在低音区分不开、在高音区大量浪费。常数 Q 给每个频段配一个与其波长成比例的窗,等于把不确定性的预算按音乐自身的几何重新分配。
这不只是工程技巧:对数频率不是记谱法的人为约定——耳蜗基底膜的位置-频率映射本就近似对数,小波分析独立给出同一族「尺度自相似」的原子,生理、数学、乐理三条路收敛到同一坐标系。它甚至写死了一条作曲规则:低音要更长时间才听得清,贝斯天生不适合极快的跑动。
相位声码器把「变速」与「变调」解耦,是全部修音与拉伸软件的地基;CQT 与 mel 频谱是几乎所有音乐 AI 的前端表示(自动扒谱、和弦识别、音频生成模型的输入)。在量子力学里,同一条不等式叫 Heisenberg 原理——位置-动量与时间-频率是同一对傅里叶共轭变量。
让机器写曲子最朴素的办法:统计前几个音符之后最常出现什么,再按概率抽样。1957 年 Hiller 与 Isaacson 的《Illiac Suite》——第一首计算机作品——就是这么写的。结果很有代表性:局部像模像样,整体一盘散沙,听 30 秒像音乐,听 3 分钟发现它什么也没说。
症结可以精确讲出来:马尔可夫链的记忆随距离指数衰减,音乐的结构却是幂律的——第二段呼应第一段,意味着几百个音符之外仍有关联。这道沟靠增大阶数 $k$ 填不上。
这是自回归分解:每个音符以全部历史为条件,$x_{
这把「音乐有形式」翻译成了一个可测量的统计签名。幂律意味着无特征尺度,无特征尺度意味着自相似(Day 17 的分形):主题—展开—再现的层级结构,在统计上留下了与临界现象同款的指纹。
修补方式同样是数学的,且只有两条:把层级显式写进模型(Schenker 分析、GTTM 的树状语法),或让模型直接看到几百步以外——Transformer 的注意力正是「任意两点直接连边」,相对位置编码把「距上次出现多少拍」变成可学的量。Music Transformer 第一次生成出带真实再现段的钢琴曲,本质是拆掉了指数衰减这堵墙。
音乐生成模型(MIDI 事件或音频 token)、伴奏与续写工具是最直接的落地。同一套长程依赖分析被搬去评估语言模型(为什么困惑度很低却在长文里跑题)、检测 DNA 的长程相关、诊断代码补全的跨文件依赖。Xenakis 的另一条路也还活着:不建模音符而建模分布,今天的扩散模型是它的远亲。