欢迎光临散文网 会员登陆 & 注册

音律中的数学

2023-02-12 17:24 作者:shaleone  | 我要投稿

话题:#数学# #音乐# 

小石头/文 


我们知道,声音是由物体震动产生的波通过介质传播到动物的听觉器官被动物感知到的自然现象。最简单的物体震动称为简谐震动,其产生的波也是最简单的波称为 简谐波,其物理模型为:

图中,质量为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;

于是有,

与前式联立有,

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

最后,设 c = √(T/ρ) ,就得到了 琴弦的 波动方程

这是一个 二阶偏微分方程,观察发现微分变量 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项 按照从小到大排列🈶:

这样就将一个 纯八度分为 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个音,让其近似等比序列,得到🈶:

这同样可以将一个八度分为12份,称为 纯律


不管是 五度相生律 还是 纯律,半音之间的比都不是 完全相等的,这导致 乐曲 转调后 音高关系 变形,为了解决这个问题,最后干脆将 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。

又有考虑到 音律 是将 一个八度 分为 12 个音 于是 我们需要再插入5个音符。为此,我们用 ♯ 或 ♭ 分别表示 升 或 降 半音,对于 十二平均律有,

这样 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,这样就 得到了 微分方程的两个线性无关解,

于是 根据 线性微分方程通解定理  就得到 微分方程的 通解为,

其中 c₁ 和 c₂ 为任意常数,再根据 欧拉公式

有,

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


附录 B

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

由,

有,

可令 h~ = - h ,代入上式,并利用 - 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】




音律中的数学的评论 (共 条)

分享到微博请遵守国家法律