- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《信号与系统实验》指导书
(补充材料)
音乐的分析与合成
机电信息工程学院
2009年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,5的基波频率为523.25Hz。
如下的一系列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,re mi,fa,so,la,xi];
sound(y)
② 谐波频谱
在音乐领域中称谐波为“泛音”,由谐波产生的作用称为音色变化。
当指定音调之后,仅指定了乐音信号的基波频率,谐波情况并未说明。对于各种乐器如钢琴或单簧管都可以发出某一音调下的唱名,而人的听觉会明显感觉两者不同,这是由于谐波成分有所区别,频谱结构各异。例如单簧管的三次、五次谐波成分很强,其他各种乐器都有自己的谐波分布规律。如果只考虑乐音的基波成分,每个唱名对应不同频率的正弦(余弦)波,如上面的MATLAB指令;当引入谐波分量之后,波形不再是简单的正弦函数。
③ 包络波形
除了前述的基波频率和谐波频谱表征了乐音特性之外,对于不同类型的乐器,它们的包络形状也不相同。图2所示为钢琴与管乐的波形,可以看出两者包络的区别。
图2 钢琴和管乐的信号波形
在乐音合成实验中,为简化编程描述,通常把复杂的包络函数用少量直线近似。于是,乐音波形的包络呈拆线,如图3所示。有时为了保证在乐音的邻接处信号幅度为零,也可以用指数衰减的包络来表示,这也是最简单的办法。
图3 乐音的拆线形包络
(2)音乐分析
傅里叶变换建立了信号频谱的概念。所谓傅里叶分析即分析信号的频谱(频率构成)、频带宽度等。对音乐信号的分析也不例外。通过前面的介绍可知,要想合成出一段音乐,就要了解该段音乐的基波频率、谐波构成等。因此,就必须采用傅里叶变换这一工具。
对于连续时间信号,其傅里叶变换为:
连续时间傅里叶变换特别适合于对时间连续信号的理论分析(如信号与系统课程中的内容),但是,由于其变换两边的函数和都是连续函数,不适合于计算机处理。虽然MATLAB语言提供了符号函数fourier来实现傅里叶变换,但该函数需要信号的解析表达式。而工程应用中经常需要对抽样数据进行傅里叶分析,这种情况下往往无法得到信号的解析表达式,因而必须采用傅里叶变换的数值计算方法。下面介绍傅里叶变换的数值方法。
如果的主要取值区间为[,],定义为区间长度。在该区间内抽样个点,抽样间隔为,则有:
上式可以计算出任意频点的傅里叶变换值,假设的主要取值区间位于[,],要计算其间均匀抽样的个值,则有:
其中,为频域抽样间隔。
(3)相关的MATLAB函数及其功能
为方便使用MATLAB编写程序,在这里介绍几个声音信号分析与处理的MATLAB函数及其功能,如表1所示。
表1 相关的MATLAB函数及其功能
函 数 功 能 函 数 功 能 wavread 读.wav文件 resample 改变信号的采样率 sound 将向量转换成声音 interp 上采样(提高采样率) kron 矩阵的张量积(叉乘) decimate 下打样(降低采样率)
表中各函数的具体调用方法请查询相关的参考资料或在MATLAB命令窗口下使用
文档评论(0)