当前课程知识点:计算机音乐 > 第五章 一维振动模型 > 5.2 弦振动模型 > 弦振动模型
同学们大家好
让我们从弦振动模型来开始我们今天的课程
在这个模型当中
我们是假设弦的震动
是由于弦发生了弹性的形变
在弹力的作用下产生的振动而发出了声音
那么我们关注点在弦本身
我们会不考虑琴的其他的部分
比如说琴箱的影响
比如说两个琴轸的影响
比如说
还有
你在波动的时候手指本身的影响
那么在物理学当中
理想弦是一根两端固定
密度均匀的
并且每个点都受到满足福克定律的弹力
一根只有长度没有宽度的一根细线
那么沿用上节课的质点弹簧阻力模型
我们可以把一维的振动模型看成是
一系列排列在直线上的一些质点
这些质点他们同样是只有质量没有大小
不同的质点之间是由一根弹簧连起来
而且所有的弹簧都是完全一样
那么在这根直线的两端有两个固定的点
这两个固定点是完全静止不动的
那么当弦上的一个质点发生弹性形变的时候
它就会带动其他的质点进行上下的振动
按照我们经验
在弦的物理性质固定情况下
它也可以根据弦的张力
和弦的长度发出不同音高的声音
尤克里里上的弦是可以调整它的弹力大小的
比如说我们可以听到这样一个声音
那么当这个弦调的更紧的时候
你会听到音高会越来越高
随着张力的越大
音高就会变得越高
在弦上有不同的品
那么这些品可以控制弦的长短
那么我们可以听到
当我们改变弦的长短的时候
弦越短的时候音高就越高
那么为了能够更清楚地看到
这一经验背后的原理
我们需要对理想弦作简单的受力分析
我们考虑弦上的任意一个质点
当这个质点离开了它的初始位置之后
它就会受到两个拉力的一个影响
这两个拉力来自于这个点相邻的两个点
P跟Q
我们假设这两个点的横坐标
分别是X0X0加ΔX这两个点都会对
我们考虑的那点产生拉力
我们考虑的那点产生拉力
但是真正产生位移的影响
实际上是来自于纵向的
也就是垂直于弦方向的拉力
我们假设垂直于弦方向这轴叫做U轴
我们首先需要对拉力进行一个正交分解
那么运用简单的初中物理的知识
我们对两个拉力T
分别进行U方向的一个正交分解
这样我们就可以计算出
这一点受到纵向的一个拉力
是TQ减去TP
TQ的大小就是T乘以sinβ
β指的是 Q这一点的夹角
α是P这一点的方向角
这样话我们就可以得出
我们所考虑的那个点的
受力的大小是TQ减TP
也就是T乘以sinβ减Tsinα
除此之外
我们假设α跟β都是非常小的一个角
也就是说我们离开的这初始位置
并不会离开太远
这样的话运用微积分的一些基本的知识
我们可以知道
tanα就等于sinα
tanβ就等于sinβ
其实sinα跟tanα
其实也是等于α了
那么这里面tanα
跟tanβ其实都是有特殊的含义的
因为tanα相当于是P这一点的一个斜率
tanβ相当于是Q这一点的一个斜率
根据牛顿第二定律F就等于MA
其中F就是刚才计算出来的拉力的大小
TQ减TP
A指的就是加速度
那么我们在计算质量M的时候
需要用线密度乘以我们考虑质点的一个长度
它的长度是ΔX
这样话我们就建立了一个加速度
跟拉力之间的一个关系
那么如果我们把ΔX除到左边
左边的形式我们看起来是一个二阶导数形式
它是U相对X的一个二阶导数
因为本身 就是一个一阶导数
然后现在左边又是一个
相差再除以ΔX
那么当ΔX趋近零的时候
左边就是一个二阶导数
而右边A本身就是U相对于T的
一个二阶导数
所以这样的话我们就可以建立起
一个二阶的偏微分方程
左边是U相对于T的二阶导数
右边是U相对X的二阶导数
那么我们的整个分析告诉我们
这两个二阶导数是成正比的
通过刚才的简单推导
我们就得到弦震动模型的一个重要的结论
也就是U关于T的二阶导数
跟U关于X的二阶导数是成正比关系的
那么在计算机程序中
我们可以使用二阶的差分方程来代替二阶导数
这样话我们就可以用递推方程的方式
来制作有关弦振动模型的动画
让我们就在Processing里面来实现
这样一段简单的程序
那么它实现是刚才的两个二阶的递推方程
我们运行起来看一下
假设这根弦它有一个初始的一个位移
就是我们把弦上中间的一点
拉到一个比较远的一个地方
这样话它的左右两边的质点
有一个相应的分布
那么一旦按R运行起来之后我们可以看到
整个弦它就会成一个这样的一个周期的震动
等于说支点的一个位移会往两边进行传播
当然左右两个点是固定的
所以到了左右两个点之后
他就被迫反向的进行传播
那么会形成这样的一个周期性的振动
如果从理论上解释刚才的程序中的周期振动
我们需要在编制条件
U0T等于ULT等于0的情况下
也就是两端的垂直方向位移等于0的
这样的编制条件下面
去考虑整个偏微方程的解
具体的解答过程
我们可以参加我们的参考论文
这里我们不妨略过求解的过程
直接进入求解的结果
可以看到偏微分方程的解当中
它是一个级数的形式
并且级数中的每一项是
sin L分之nπx
以及乘上右边的这一块
an cos L分之nπct加上bn sin L分之nπct
这两个部分
那么如果我们观察级数中的每一项
我们可以发现
其中前面一项它的频率是跟T没有关系的
右边一项它的频率都是L分之πc的整数倍
所以我们其实可以把右边看成是一个
整数倍的这样的三角级数
那么利用我们高中学过的
简单的三角函数知识
我们还可以对级数进行进一步的简化
比如说我们设an跟bn都满足一定的关系
我们只需要给它乘上一个系数
就可以让它满足三角函数关系
比如说我们令sinθn等于根号an的平方
加上bn的平方分之an
我们知道bn除以an的平方加上bn的平方
那么这两项的平方和
我们一定能够保证他们是1
所以我们可以假设这一项就是cosθn
因为sinθn的平方加上cosθn的平方
是等于1
有了这样的假设之后
上面的部分我们就可以使用和角公式
把它合成同一个三角函数
也就合成
sin L分之nπct加上θn
这样话整个函数形式就会变成一个
只有一项的三角函数形式
这是关于T的一个正弦波
但它的振幅是跟它所在的位置X是有关的
这样话我们就知道
弦的振动是由若干个正弦波叠加而成的
因为右边的这一项它跟T是无关的
如果我们把它看成T的函数的话
它的每一项都是一个正弦波
再乘以一个常数
其中他的第一项的频率
我们也把它叫做主频率
f1是2π分之ω1
也就是2L分之C
而其他的项
它的频率都是第一项的整数倍
因此我们也把第一项叫做基音
而把第二项叫做第一泛音
第三项叫做第二泛音等等
这个定律我们也把它叫做梅森定律
那么除此之外
如果我们考察一个特定的n
也就是我们固定其中的某一项
考察其中的某一项
那么我们发现它的振幅是会随着X
成一个正弦波的这样的一个变化的
也就是说它会有周期性的一些0的点
比如说当X等于N分之L的时候
这一项就是π的整数倍
我们知道sinπ的整数倍都是0
因此在整个直线上就会产生周期性的零点
于是这样就会产生一个驻波的现象
也就是说对于不同的n来说
它在X轴上的整体的振幅
会产生周期性的变化
在N等分点的地方
它会产生一个特别的点
叫做波节
在两个相邻的波节中间
它会产生一个振幅最大点
我们把它叫做波腹
那么在弦乐器的演奏过程中
如果弹奏完一个音
立刻就把手指放在一个弦的正中间
那么这样的话
基音将会被你的手指所制止
所以你的基音是发不出声音的
但是偶数倍的泛音
由于它的二之一处是一个波节
那么你把手指放在波节的地方
是不会影响整个振动的
所以我们将会听到留下来的
偶数倍的泛音叠加而成的声音
那么我们来试一下
那么如果我们直接去弹奏一根弦
我们会听到一个完整的震动
但是在弹奏过程中
如果我们把手指放在弦的正中间
我们听到这样的一个声音
这个声音比起刚才的声音
音高高了八度
而且我会听到一个比较空灵的一种感觉
那么主要是因为
我们在把手指放在正中间的时候
基音被你制止掉了
然后留下的是两倍四倍六倍等等的
这样的偶数倍的泛音
所以它的频率是基音的两倍
所以听起来它是高八度的一个声音
这就是乐器演奏中的泛音的一个主要的原理
因此在理想弦的方程的解当中
从每一个孤立的点的角度来看
它的振动是由若干个频率是主屏的整数倍的
正弦波的和
那么并且主屏是跟它的所在的位置的X
是无关的
那么到这里我们已经从理论上解释的
理想弦可以产生的乐音的主要原理
下一节我们将会从运动过程中
质点与质点之间的关系的角度
来深入的了解弦震动的模型
-欢迎辞
-1.1 计算机音乐导言
--计算机音乐导言
-1.2 计算机音乐课程主要内容
-1.3计算机音乐课程资源
-1.4 音乐的基本表达
--音乐的基本表达
-第一章作业
-2.1时域音频处理概述
--时域音频处理概述
-2.2 分窗处理1:OLA叠放
-2.3 分窗处理2:音量计算
-2.4 端点检测
--端点检测
-2.5 振幅包络
--振幅包络
-2.6 音频信号相乘
--音频信号相乘
-2.7 环形调制
--环形调制
-2.8 频率调制
--频率调制
-2.9 频率调制在音乐上的应用
-第二章作业
-3.1 频谱概述
--频谱概述
-3.2 傅里叶变换
--傅里叶变换
-3.3 短时傅里叶变换
--短时傅里叶变换
-3.4 加法合成
--加法合成
-3.5 线性滤波器
--线性滤波器
-3.6 京剧锣鼓经分析
--京剧锣鼓经分析
-第三章作业
-4.1 音色合成概述
--音色合成概述
-4.2 质点弹簧阻尼模型
--质点弹簧阻尼模型
-4.3 双线性滤波器
--双线性滤波器
-4.4 Modal合成
--Modal合成
-第四章测试
-5.1 一维振动模型概述
--一维振动模型概述
-5.2 弦振动模型
--弦振动模型
-5.3 达朗贝尔的行波解
--达朗贝尔的行波解
-5.4 梳状滤波器
--梳状滤波器
-5.5 Karplus Strong算法
-5.6 管状气鸣乐器模型
--管状气鸣乐器模型
-第五章作业
-6.1 音高跟踪概述
--音高跟踪
-6.2 时域音高跟踪
--时域音高跟踪
-6.3 频域音高跟踪
--频域音高跟踪
-6.4 K歌评分
--K歌评分
-第六章作业
-7.1 音频同步概述
--音频同步概述
-7.2 音乐特征提取 CQT
-7.3 音乐特征提取 Chroma
-7.4 动态时间规划概述
--动态时间规划概述
-7.5 动态时间规划实现
--动态时间规划实现
-第七章作业