ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:122.06KB ,
资源ID:18434588      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18434588.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的简单音乐合成Word文档下载推荐.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的简单音乐合成Word文档下载推荐.docx

1、3、分析仿真结果,得出合理结论。设计要求1、利用Matlab实现对自选乐曲的简单音乐合成,生成 .wav文件;2、给各个乐音加载包络,生成.wav,并显示音乐信号的包络图像;3、在音乐中加上二、三、四次谐波,基波幅度为1,高次谐波幅度分别为0.388、0.1557、0.2424,并生成.wav文件。4、按要求完成设计报告。仪器设备1、计算机1台,Matlab 仿真软件一套。参考文献1 高西全,丁玉美数字信号处理(第三版) M西安:西安电子科技大学出版社,20082 程佩青. 数字信号处理教程(第四版) M北京:清华大学出版社,20133 余成波等.数字信号处理及MATLAB实现(第二版) M北

2、京:清华大学出版社,2008课程设计进度安排(起止时间、工作内容)单人一组,每组选择不同乐曲进行音乐合成,每人1套实验环境。整个课程设计共1周20学时,具体安排如下:前期准备工作 4学时 学习设计题目相关知识,查阅资料,掌握实现的原理;计划内上机14学时 按要求,完成设计方案,编写并调试仿真程序;计划内上机2学时 结果验收,并完成课程设计报告。课程设计开始日期2015.06.23课程设计完成日期2015.06.30指导老师(签名):_ 1 设计基础1.1 MATLAB软件简介MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室MATLAB工作界面)。是由美国m

3、athworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程

4、语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。1.2 乐

5、曲解析乐音的基本特征可以用基波频率、谐波频率和包络波形三个方面来描述,我们用大写英文字母 CDEFGAB 表示每个音的“音名”(或称为“音调”),当指定某一音名时,它对应固定的基波信号频率。图 1 表示钢琴的键盘结构,并注明了每个琴键对应的音名和基波频率值。这些频率值是按“十二平均律”计算导出,下面解释计算规则:图 1-1 钢琴键盘和相应频率从图 1-1 可以看到,靠下边的 A 键称为小字组 A,它的频率值 fA0= 220Hz,而靠上面的另一个 A 键是小字一组 A,它的频率值是 fA1= 440Hz。两者为二倍频率关系,即 fA1 相当于 fA0 的二次谐波。也称为 8 度音或倍频程 Oc

6、tave(即我们画频响特性图时所用的术语“倍频程”)。根据两只老虎简谱和十二平均律计算出该小节每个乐音的频率,在MATLAB中生成幅度为1,抽样频率为8000kHz的正弦信号表示这些乐音,用sound播放合成的音乐图1-2 乐曲两只老虎曲谱由图可知两只老虎的曲调定为C,即1=C,对应的频率为261.63Hz,据此可以计算出其他乐音的频率,类推计算出各乐音对应的频率见表1-1 部分乐音对应的频率:表1-1 部分乐音对应的频率乐音1234频率261.63293.66329.63349.235392在确定了各乐音的频率之后需要确定每个乐音的持续时间。每小节有两拍,一拍的时间是0.5此部分乐音的持续时

7、间见表1-2部分乐音对应的时间:表1-2 部分乐音对应的时间时间0.5 0.5而在MATLAB中表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。用一个行向量来存储这段音乐对应的抽样点,在用sound函数播放即可。 根据以上分析在MATLAB中编写如下程序:sound_1_1.mclear;clc;fs=8000; %抽样频率f=261.63 293.66 329.63 261.63 261.63 293.66 329.63 261.63 329.63 349.23 392 329.63 349.23 392; %各个

8、乐音对应的频率time=fs*0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,1;%各个乐音的抽样点数N=length(time); %这段音乐的总抽样点数east=zeros(1,N); %用east向量来储存抽样点n=1;for num=1:N %利用循环产生抽样数据,num表示乐音编号 t=1/fs:1/fs:time(num)/fs; %产生第num个乐音的抽样点east(n:n+time(num)-1)=sin(2*pi*f(num)*t); %抽样点对应的幅值 n=n+time(num);endsound(east,8000);

9、%播放音乐2 设计与实现 2.1 简单的音乐合成2.1.1原理分析根据两只老虎片段的简谱和“十二平均律”计算出该片段中各个乐音的频率,在 MATLAB 中生成幅度为 1、抽样频率为 8000kHz 的正弦信号表示这些乐音。请用 sound 函数播放每个乐音,听一听音调是否正确,最后用这一系列乐音信号拼出两只老虎片段,注意控制每个乐音持续的时间要符合节拍,用 sound 函数播放合成的乐音。2.12 Matlab 源代码N %利用循环产生抽样数据,num表示乐音编号2.1.3 运行结果分析初步合成的音乐音调符合曲谱,能听出两只老虎的旋律。2.2 除噪音,加包络2.2.1 原理分析你一定注意到(1

10、)的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。这种噪声严重影响合成音乐的质量,丧失真实感,下面通过加包络来消噪音。最简单的包络为指数衰减。最简单的指数衰减是对每个音乘以因子,在实验中首先加的是的衰减,这种衰减方法使用的是相同速度的衰减,但是发现噪音并没有完全消除,播放的音乐效果不是很好,感觉音乐起伏性不强。于是采用不同速度的衰减,根据乐音持续时间的长短来确定衰减的快慢,乐音持续时间越长,衰减的越慢,持续时间越短,衰减的越快。2.2.2 Matlab 源代码f=261.63 293.66 329.63 261.63 261.63 293.66 329.63 261.63

11、 329.63 349.23 392 329.63 349.23 392;%各个乐音对应的频率xio=zeros(1,N);(time(num)/fs; %产生第num个乐音的抽样点 P=zeros(1,time(num); %P为存储包络数据的向量L=(time(num)*0 1/5 3/8 5/8 1; %包络线端点对应的横坐标 T=0 1.5 1 1 0; %包络线端点对应的纵坐标 s=1; b=1:1:time(num); %产生包络线抽样点 for k=1:4 P(s:L(k+1)-1)=(T(k+1)-T(k)/(L(k+1)-L(k)*(b(s:L(k+1)-1)-L(k+1)*

12、ones(1,L(k+1)-s)+T(k+1)*ones(1,L(k+1)-s); %包络线直线方程通式 s=L(k+1); end laohu(n:n+time(num)-1)=sin(2*pi*f(num)*t).*P(1:time(num); %给第num个乐音加上包络sound(laohu,8000);plot(laohu);wavwrite(laohu, laohu 2)2.2.3 运行结果分析播放后可以听出噪音已经消除,同时因为不同时长的乐音衰减的快慢不一样,音乐听起来更有起伏感,如图为2-1波形图。图2-1 laohu1加包络波形图2.3 加谐波2.3.1 原理分析在音乐中加上二

13、、三、四次谐波,基波幅度为1,高次谐波幅度分别为0.2、0.3、0.1。2.3.2 Matlab 源代码f=261.63 293.66 329.63 261.63 261.63 293.66 329.63 261.63 329.63 349.23 392 329.63 349.23 392; for k=1: m=1 0.3 0.2; %波形幅值矩阵 ss=zeros(1,length(t); for i=1:length(m) ss=ss+m(i)*sin(2*i*pi*f(num)*t); %加谐波laohu(n:n+time(num)-1)=ss.*P(1:%给第num个乐音加上包络 l

14、aohu (n: laohu 32.3.2 运行结果分析音乐中加上二、三、四次谐波,基波幅度为1,高次谐波幅度分别为0.2、0.3、0.1,如图为2-2波形图。 图2-1 laohu2加谐波波形图3 总结与体会通过这次的课程设计,加深了我们对数字信号处理所学知识的了解,增强了我们对教学知识的运用和主动研究的能力。让我们掌握信号处理过程的仿真设计方法。 通过模仿老师所给的例题和所收集的资料例题,编写Matlab 仿真程序,主要利用matlab软件来实现对乐音信号的仿真,从而加深我们对模拟信号数字化处理的理解,了解音乐信号时间特性、频率特性变化所带来的影响,初步学会改善音乐播放效果。 在运用所学知

15、识和学习Matlab软件的同时也学习到音乐的基本组成4 参考文献1 王力宁.MATLAB与通信仿真M.北京:人民邮电出版社,19992 陈亚勇等.MATLAB信号处理详解M.北京:人民邮电出版社,20013 高西全,丁玉美数字信号处理(第三版) M西安:4 程佩青. 数字信号处理教程(第四版) M北京:5 余成波等.数字信号处理及MATLAB实现(第二版) M北京:6 美Vinay K.Ingle、John G.Proakis数字信号处理应用Matla b(第3版) M北京:科学出版社,20127 关于目录的生成:参考“ new Roman,小四,1.25倍行距)补充说明:这是一次小论文,不要求各位同学能够一步到位,排版编辑多么的漂亮,但是可以当作是下学期毕业设计论文的一次练习,一个学习的过程,希望大家能尽可能用心做好。期末评分时,老师关键看的是论文的内容,章节的安排。所以请同学们抓紧时间完成,能做多少做多少,做到哪步算哪步,只要你回头检查时,可以无愧道“我尽力了”!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1