音律中的数学
话题:#数学# #音乐#
小石头/文
简谐震动,其产生的波也是最简单的波称为 简谐波

图中,质量为m滑块在光滑的水平面上来回震动,t 时刻滑块处于 y(t) 位置,根据,
牛顿第二运动定律:物体加速度的大小跟作用力成正比,跟物体的质量成反比,且 加速度的方向跟作用力的方向相同;
有,

设 滑块在 0 位置 弹簧处于松弛(既没有挤压也没有拉伸)状态,根据,
胡可定理:在弹性限度内,弹簧所受的拉力与形变量成正比;
又有,

其中 k > 0 称为 弹性系数
这样以来就得到,

令,c = √(k/m) ,则有,

这是一个齐二阶线性微分方程,由 sin't = cos t 和 cos't = -sin t 有,

知,

线性微分方程通解定理

其中 a 和 b 是任意常数。然后,根据 初始条件 y(0) 和 y'(0) 可确定,

勾股定理

知道,总是存在 A > 0 和 φ 使得,

于是有,

和角公式

最终,可得到,

这说明,最简单的波 是一个 正弦函数,其中 A 称为 振幅, φ 称为 相位,c 称为 自然频率, c/2π 为频率, 2π/c 为 周期。

自然界中,有些声音听着让人不舒服,比如:马路上的噪声,而有些声音却让人愉悦,比如:琴弦上发出的乐音,我们不禁会问:为什么乐音让人愉悦呢?为了搞清楚这个问题,需要 进一步 分析 琴弦 的具体波动情况。
不妨设,长度为 L 的 琴弦 水平放置如下,

对于其上任意一点 x ,因为 琴弦是绷紧的,所以 我们 忽略 x 左右震动 产生的 横波,只考虑 x 上下震动 产生的 纵波,可设 y(x, t) 为 x 点 在 t 时刻 的 竖直 位置,又设 琴弦的 质量是 m 并且是 质量均匀的,于是 琴弦的 密度为:

再 在琴弦上,取以 x 为起点的 长度为 h 的微元,则 该微元 的 质量就是 hρ,由于 微元 非常小,于是可认为 x 就是微元的位置,于是,根据 牛顿第二定理有,

设 T₁ 和 T₂ 分别为微元两端的张力大小,于是 微元在 数值方向的 所受的力为,

由于 琴弦绷的足够紧,我们设定:
琴弦上的张力大小处处相等 都是 T;
角度 ɑ₁ 和 ɑ₂ 非常小,使得 sin ɑ₁ ≈ tan ɑ₁ = ∂y(x, t)/∂x,sin ɑ₂ ≈ tan ɑ₂ = ∂y(x+h, t)/∂x;
于是有,

与前式联立有,

等式两边对 微元 取极限 有,

波动方程

这是一个 二阶偏微分方程,观察发现微分变量 t 和 x 分属于 等号两侧,这样 如果 y(x, t) 是变量分离的,即,

则代入方程有,

于是得到,

等号两边是不相关的不同变量的函数,它们相等的唯一可能就是二者都是常函数,不妨设为 -k²,既有,

于是得到,

这就是前面的齐二阶线性微分方程,它们的解分别是:

由于琴弦的两头是固定的,于是有 ψ(0) = ψ(L) = 0, 进而有,

此时 q ≠ 0 ,否则 ψ(x) = 0 进而 y(x, t) = 0 ,矛盾,而又有,

故只能是,

于是,

进而,

考虑到 时间为 正,故 n 取所有 正整数,这样就得到偏微分方程的所有特解为:

又观察到,
若 F(x, t) 和 G(x, t) 是 偏微分方程,则 F(x, t) + G(x, t) 也是 偏微分方程 的解;
于是微分方程有解(其实也是通解),

对其中任意一点x来说,震动波为:

可见 琴弦上没一点的震动波 都是由 频率 分别是 f 的正整数倍数的 正弦波 组成,而不是任意频率的杂乱叠加,因此这才听起来 让人愉悦。也就是说:
悦耳的声音是由 频率 成整数比例的正弦波叠加而成的;☆
这些波称为谐波。其中 n=1 的 谐波 称为 基音 琴弦的主音,其频率是(频率公式),


音乐不是单独的音,而是多种不同的音的组合,所以我们需要挑选一些音符用来构成音乐。
根据以面结论☆,除了1:1 自己和自己 绝对和谐外,谐波的最小比就是1:2了,于是🈶:

这样就得到了 一条 相隔 纯八度 的音列,例如:若 令 f 是 do 则 2f 就是 高音do,f/2 就是 低音do。
当然,这个音列不可能 无限延申,根据物理实验,人可以听到的声音范围 20Hz 到 20KHz,而 由 log₂ 20000 - log₂ 20 ≈ 9.96 知 这个音列最多只能有 10 个音,这远远不够 音乐演奏的需求,于是我们需要对每个纯八度再进行分割,分出更多的乐音来。
为此,利用更大一些的谐音比 1:3,可得音列:

对其中每一个音,可再次使用谐音比是1:2 得到一个序列:

再在每个序列中,取频率在 f 到 2f 之间的音,得到,

这些音由于是间接上的谐波,所以组合在一起听起依然悦耳!
当然我们也不能无限的 对 f 到 2f 进行细分,于是 需要让上面的序列 周期重复,恰好当算到第12项时发现,

也就是说,

于是 将 3¹²f/2¹⁹ 改为 3¹²f/2¹⁸ 并视作 2f,并将前12项 按照从小到大排列🈶:

半音

发现 比例只有 3⁷/2¹¹ 和 2⁸/3⁵ ,而 3⁷/2¹¹ ≈1.068≈1.053≈2⁸/3⁵,所以,上面的音列,基本上可视为 等比序列。
这就是 五度相生律 的 数学原理。其中,3f/2 大概在 5/8 的 地方,所以 从 f 到 3f/2 称为 纯五度,这是五度相生律得名由来。
上面 在分割 八度 时,只利用了1:2 与 1:3 的谐波组合,由 f 得到:
纯八度: 2f
纯五度: 3f/2
可是,实际上,还有更多的 谐波组合:
纯四度:4f/3
大三度:5f/4
小三度:6f/5
大六度:5f/3
小六度:8f/5
以这些音为主干,再插入5个音,让其近似等比序列,得到🈶:

纯律。
不管是 五度相生律 还是 纯律,半音之间的比都不是 完全相等的,这导致 乐曲 转调后 音高关系 变形,为了解决这个问题,最后干脆将 f 到 2f 绝对(对数意义下)平均等分 为 12份,即🈶:

这称为 十二平均律,也就是当今使用的音律了。
这里需要注意:现在所谓,音差,等分, ... 都是 对数意义下的,实际指的是,音比,等比,...那么,为什么要 这样叫呢?因为:由于,频率比例表示不方便,后来人们令 logₐ(2f/f) =1200,这样 logₐ r=100 ,于是十二平均律可表示为(令 f = 1):0,100,200,..., 1100,1200这样就方便多了。

在实际应用中,不管采用哪种音律,音律的结构都是差不多的,都是:
先将整个音程分为八度组,然后将每个八度组再分为12个音;
所不同的是这些音对应的实际频率略有差别,下面 以十二平均律为例,具体如下:
首先,由 人的 听力范围 20Hz 到 20KHz,可计算出,

于是,中央频率为:

这应该 对应 中央八度 f₀ 到 2f₀ 的 中间音 r⁶f₀ = (¹²√2)⁶f₀ = √2f₀ ,于是可以算出,

然后,就是需要标识音符,以钢琴为例,我们用 英文字母 a, b, c, d, e, f, g 分别表示 八度中的 前 7 个,用上标表示八度组的组号,最中间的中央八度规定为第1组,于是 整个音程 可标识为,

为了书写方便,对低于中央八度的组,进行如下调整,
用大小字母和下标,重新表示 负上标音符,即,x⁻ⁿ → Xₙ₋₁;
标号0省略不写,即,x⁰ →x,X₀ → X;
调整后得到,

由上面的计算知 a¹ = f₀ ≈ 445.5 Hz,为了计算简单,我们规定 中央A 为:

最后,音符最终要被制造成乐器的,前面 琴弦主音 的 频率公式 告诉我们:
当频率升高时,弦长就要缩短;
琴弦做长简单但是做短难,例如:
中型立式钢琴最高音 c⁵ 仅仅只有 5cm 长,而 c⁵ 的频率 440×2³×(¹²√2)² ≈ 3951Hz 距离 2KHz 还有很远。
除了,工艺上高音的限制外,过高的音也比较刺耳,听着并不好听,因此实际 乐音八度分组 是向低音 偏移的,大概会偏移 五度左右,也就是说,低八度组的后面五个音,会被划归高八度组,于是得到:

这样八度组的音符排序就变为:

注:分别唱为 do, re, mi, fa, sol, la, si/xi,简谱记为 1, 2, 3, 4, 5, 6, 7。

这样 5个音符 插入如下,

这样算下来,中央C 的 频率为,

现在,钢琴的实际分组如下:

注:有多种标记音符的方法,这里只介绍了其中一种。

我国早在春秋中期 时期就发现了 五度相生律,称为三分损益法 在 《国语》、《管子》、《吕氏春秋》中 均有描述,方法如下:
设 弦长为 L(频率 f),称为 宫;
对 宫 “三分损一”(分三份去掉一份,原来的2/3)得到 弦长 2L/3(频率 3f/2),称为 徵;
对 徵 “三分益一”(分三份增加一份,原来的2²/3)得到 弦长 2³L/3²(频率 3²f/2³),称为 商;
对 商 “三分损一” 得到 弦长 2⁴L/3³(频率 3³f/2⁴),称为 羽;
对 羽 “三分益一” 得到 弦长 2⁶L/3⁴(频率 3⁴f/2⁶),称为 角;
将其按照频率大小排列,并和 前面的五度相生律原理中的序列,以及八度的7个音,比较得到:
f(宫c),3⁷f/2¹¹(#c),3²f/2³(商d),3⁹f/2¹⁴(#d),3⁴f/2⁶(角e),3¹¹f/2¹⁷(f),3⁶f/2⁹,3f/2(徵g),3⁸f/2¹²(#g),3³f/2⁴(羽a),3¹⁰f/2¹⁵(#a),3⁵f/2⁷(b),3¹²f/2¹⁸≈2f(高音 宫1)
实际使用时,我国古人 将 琴弦 分为 九九八十一 份,则:
宫 81 份, 徵 81 × 2/3 = 54 份,商 54 × 2²/3 = 72 份,羽 72 × 2/3 = 48 份, 角 48 × 2²/3 = 64 份
这样 很简单 就得到了 宫商角徵羽 五个音的 琴弦了。
五音毕竟有些单调,汉唐时期又将其扩充为 12 个音,分别命名为:
黄钟(宫c),林钟(徵g),太簇(商d),南吕(羽a),姑冼(角e),应钟(b),蕤宾(#f);大吕(#c),夷则(#g),夹钟(#d),无射(#a),仲吕(f)
从 3⁴f/2⁶(角)接着继续,
再 “三分损一” 就是 3⁵f/2⁷ (应钟b);
再 “三分益一” 就是 3⁶f/2⁹ (蕤宾#f);
然后继续,
再 “三分益一” 就是 3⁷f/2¹¹(大吕#c);
再 “三分损一” 就是 3⁸f/2¹²(夷则#g);
再 “三分益一” 就是 3⁹f/2¹⁴(夹钟#d);
再 “三分损一” 就是 3¹⁰f/2¹⁵(无射#a);
再 “三分益一” 就是 3¹¹f/2¹⁷(仲吕f);
再 “三分损一” 就是 3¹²f/2¹⁸≈2f (清黄钟);
这样就生成了上面的全部12个音。
比我国稍晚,古希腊的毕达哥拉斯也发现了 五度相生律,不同它的生成方法有些许区别:
开始部分和 三分损益法一样(利用 f, 3f, 3²f, ... 序列)从 c 生成到 #f 得到 7 个音,然后转向(利用 ..., f/3², f/3, f 序列)生成 另外 的 7 个音,具体方法如下,
与前面的原理类似,利用 1:2 关系,将 f, f/3, f/3², ... 调整到 f 和 2f 之间,得到:

因为 2¹⁰f/3⁶ ≈1.40f ≈ 1.42f ≈ 3⁶f/2⁹ 所以看作一个音,从而 完成序列的循环闭环。对应操作为,
对 原始琴弦 L(频率 f) 进行 “四分损一”(即 原来的3/4)得到 弦长 3L/2² (频率 2²f/3)≈(仲吕f);
再 进行 “四分损一” 得到 得到 弦长 3²L/2⁴ (频率 2⁴f/3²)≈(无射#a);
再 进行 “二分益一”(即 原来的 3/2)得到 得到 弦长 3³L/2⁵ (频率 2⁵f/3³)≈(夹钟#d);
再 进行 “四分损一” 得到 得到 弦长 3⁴L/2⁷ (频率 2⁷f/3⁴)≈(夷则#g);
再 进行 “二分益一” 得到 得到 弦长 3⁵L/2⁸ (频率 2⁸f/3⁵)≈(大吕#c);
再 进行 “四分损一” 得到 得到 弦长 3⁶L/2¹⁰ (频率 2¹⁰f/3⁶)≈(蕤宾#f);
这样也就生成了12个音。
再到了明朝,律圣 朱载堉 创建 了 十二平均律,之后传到 欧洲 被 巴赫 和 贝多芬 等音乐家广泛使用,最后成了现在的主要音律。

(好了,就写这么多吧!小石头这时第一次在B站发表正式的专栏文章,难免有出错的地方,欢迎各位大佬指出!)
附录 A
第一个齐二阶线性微分方程,也可以这样解:
利用 (eᵗ)' = eᵗ,设 y(t) = eˣᵗ 代入方程得到 ,

由于 eˣᵗ ≠ 0 ,故 x² + c² = 0 ,而 c > 0,于是有 x = ±ic,这样就 得到了 微分方程的两个线性无关解,

线性微分方程通解定理

欧拉公式

有,

若 令 a = c₁ + c₂, b = (c₁ - c₂)i,则有,

附录 B
受前面琴弦波动方程推导过程的启发,我们有:
由,

有,

,代入上式,并利用 - h → 0 ⇔ h → 0

即得到,

附录 C

中 找循环时,我们用的是用算的方法,但其实也可以更数学一些,实际上,我们只需要寻找 自然数 n 和 m 使得:

也就是,

即可。由于等号右边 log₂3 是无理数,所以左边的有理数只能逼近。由 log₂3 ≈ 1.5849625,我们可以将右边 化成连分数:

这样就得到 log₂3 的 有理数逼近序列,

除了 1 对应 第0项 f 不算,选择 19/12 是第一个对应序列中 第12项 3¹²f/2¹⁹ 的,所以就选它了。
【END】