实验指导书(音乐的分析与合成).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

《信号与系统实验》指导书

〔补充材料〕

音乐的分析与合成

李敏张维维

大连民族学院

机电信息工程学院

2023年12月

1.实验目的

〔1〕掌握傅里叶变换的物理意义,深刻理解傅里叶变换的内涵;

〔2〕了解乐理和电子音乐的根本知识;

〔3〕熟练运用MATLAB的根本指令及音乐处理指令;

〔4〕学习利用虚拟仿真技术分析音乐信号;

〔5〕加深学生对信号分析工程应用的理解,拓展学生在信号分析领域的应用能力。

2.实验内容

利用MATLAB编程对一段短时音乐进行分析与合成。首先,找出其每个音调的基波频率及其谐波成份,从而确定该音乐的频带宽度;其次,根据分析的结果,合成出该段音乐;最后,将合成音乐与真实音乐进行比拟,做误差分析。

3.实验原理

〔1〕乐理知识介绍

乐音的根本特征可以用基波频率、谐波频谱和包络波形三个方面来描述。

①基波频率

每个指定音调的唱名都有它对应固定的基波信号频率。图1所示为钢琴键盘结构,并注明了每个琴键对应的音名和基波频率值。

图1钢琴键盘和相应频率

所谓唱名是指平日读乐谱唱出的1〔do〕、2〔re〕、3〔mi〕、…。每个唱名并未固定基波频率。当指定乐曲的音调时才知道此时唱名对应的频率值。如指定的乐曲为C调,图1中的“中央C〞即为C调的1,基波频率为261.63Hz,而F调1的基波频率为349.23Hz,。

如下的一系列MATLAB指令完成的是播放C调的1、2、3、4、5、6、7的一段音乐。

t=0:1/8000:0.5;

do=sin(2*pi*261.63*t);

re=sin(2*pi*293.66*t);

mi=sin(2*pi*329.63*t);

fa=sin(2*pi*349.23*t);

so=sin(2*pi*392*t);

la=sin(2*pi*440*t);

xi=sin(2*pi*493.88*t);

y=[do,remi,fa,so,la,xi];

sound(y)

②谐波频谱

在音乐领域中称谐波为“泛音〞,由谐波产生的作用称为音色变化。

当指定音调之后,仅指定了乐音信号的基波频率,谐波情况并未说明。对于各种乐器如钢琴或单簧管都可以发出某一音调下的唱名,而人的听觉会明显感觉两者不同,这是由于谐波成分有所区别,频谱结构各异。例如单簧管的三次、五次谐波成分很强,其他各种乐器都有自己的谐波分布规律。如果只考虑乐音的基波成分,每个唱名对应不同频率的正弦〔余弦〕波,如上面的MATLAB指令;当引入谐波分量之后,波形不再是简单的正弦函数。

③包络波形

除了前述的基波频率和谐波频谱表征了乐音特性之外,对于不同类型的乐器,它们的包络形状也不相同。图2所示为钢琴与管乐的波形,可以看出两者包络的区别。

图2钢琴和管乐的信号波形

在乐音合成实验中,为简化编程描述,通常把复杂的包络函数用少量直线近似。于是,乐音波形的包络呈拆线,如图3所示。有时为了保证在乐音的邻接处信号幅度为零,也可以用指数衰减的包络来表示,这也是最简单的方法。

图3乐音的拆线形包络

〔2〕音乐分析

傅里叶变换建立了信号频谱的概念。所谓傅里叶分析即分析信号的频谱〔频率构成〕、频带宽度等。对音乐信号的分析也不例外。通过前面的介绍可知,要想合成出一段音乐,就要了解该段音乐的基波频率、谐波构成等。因此,就必须采用傅里叶变换这一工具。

对于连续时间信号,其傅里叶变换为:

连续时间傅里叶变换特别适合于对时间连续信号的理论分析〔如信号与系统课程中的内容〕,但是,由于其变换两边的函数和都是连续函数,不适合于计算机处理。虽然MATLAB语言提供了符号函数fourier来实现傅里叶变换,但该函数需要信号的解析表达式。而工程应用中经常需要对抽样数据进行傅里叶分析,这种情况下往往无法得到信号的解析表达式,因而必须采用傅里叶变换的数值计算方法。下面介绍傅里叶变换的数值方法。

如果的主要取值区间为[,],定义为区间长度。在该区间内抽样个点,抽样间隔为,那么有:

上式可以计算出任意频点的傅里叶变换值,假设的主要取值区间位于[,],要计算其间均匀抽样的个值,那么有:

其中,为频域抽样间隔。

〔3〕相关的MATLAB函数及其功能

为方便使用MATLAB编写程序,在这里介绍几个声音信号分析与处理的MATLAB函数及其功能,如表1所示。

表1相关的MATLAB函数及其功能

函数

功能

函数

功能

wavread

resample

改变信号的采样率

sound

将向量转换成声音

interp

上采样〔提高采样率〕

kron

矩阵的张量积〔叉乘〕

decimate

下打样〔降低采样率〕

表中各函数的具体调用方法请查询相关的参考资料或在MATLAB命令窗口下使用help命令及相关帮助菜单获得

文档评论(0)

199****8042 + 关注
实名认证
文档贡献者

相信自己,相信明天

1亿VIP精品文档

相关文档