版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字信号处理课程设计说明书设计题目: 基于MATLAB勺简单音乐合成姓 名:专业年级:学 号:指导老师:25日时间:2015年 6月数字信号处理课程设计任务书题目基于MATLAB勺简单音乐合成主要内容1、自学Matlab软件,了解相关编译语句;2、利用Matlab完成简单的音乐合成;3、分析仿真结果,得出合理结论。设计要求1、利用Matlab实现对自选乐曲的简单音乐合成,生成.wav文件;2、给各个乐音加载包络,生成.wav,并显示音乐信号的包络图像;3、 在音乐中加上二、二、四次谐波,基波幅度为1,咼次谐波幅度分别为0.388、0.1557、0.2424,并生成.wav 文件。4、按要求完成
2、设计报告。主要仪器设备1、计算机1台,Matlab仿真软件一套。主要4 TV, 参考文献1 高西全,丁玉美数字信号处理(第三版)M 西安:西安电子科技大 学出版社,20082 程佩青.数字信号处理教程(第四版)M.北京:清华大学出版社,20133 余成波等.数字信号处理及MATLA实现(第二版)M.北京:清华大学 出版社,2008课程设计进度安排(起止时间、工作内容)单人一组,每组选择不同乐曲进行音乐合成,每人 1套实验环境。整个课程设计 共1周20学时,具体安排如下:前期准备工作4学时 学习设计题目相关知识,查阅资料,掌握实现的原理; 计划内上机14学时 按要求,完成设计方案,编写并调试仿真
3、程序; 计划内上机2学时结果验收,并完成课程设计报告。课程设计开始日期2015.06.23课程设计完成日期2015.06.301设计基础1.1 MATLAB软件简介1.2乐曲解析2设计与实现2.1 简单的音乐合成2.1.1原理分析2.1.2 Matlab 源代码2.1.3运行结果分析2.2除噪音,加包络2.2.1原理分析2.2.2 Matlab 源代码2.2.3运行结果分析 2.3加谐波2.3.1原理分析2.3.2 Matlab 源代码2.3.2运行结果分析 3总结与体会4参考文献1 设计基础1.1 MATLAB 软件简介MATLAB是matrix&laboratory 两个词的组合,
4、意为矩阵工厂(矩阵实验室MATLAB 工作界面)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式 程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性 动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中, 为科学研 究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方 案,并在很大程度上摆脱了传统非交互式程序设计语言(如 C、 Fortran )的编辑模式,代表了当今国际科学计算软件的先进水平。MATLABS Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件 中在数值计算方面首屈一指。M
5、ATLA可以进行矩阵运算、绘制函数和数据、实现算法、 创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号 处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB勺基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分 相似,故用MATLAB解算问题要比用C, FORTRA等语言完成相同的事情简捷得多, 并且MATLA也吸收了像Maple等软件的优点,使 MATLA成为一个强大的数学软件。 在新的版本中也加入了对 C, FORTRANC+, JAVA的支持。可以直接调用,用户也可 以将自己编写的实用程序导入到 MATLA函数库中方便自己以后调用,此
6、外许多的 MATLA爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。1.2 乐曲解析乐音的基本特征可以用基波频率、谐波频率和包络波形三个方面来描述,我们用 大写英文字母CDEFGAB表示每个音的“音名”(或称为“音调”),当指定某一音 名时,它对应固定的基波信号频率。图 1 表示钢琴的键盘结构,并注明了每个琴键对应的音名和基波频率值。这些 频率值是按“十二平均律”计算导出,下面解释计算规则:图 1-1 钢琴键盘和相应频率从图1-1可以看到,靠下边的A键称为小字组A,它的频率值fA0= 220Hz, 而靠上面的另一个A键是小字一组A,它的频率值是fA仁440Hzo两者为二倍频率 关系
7、,即 fA1 相当于 fA0 的二次谐波。也称为 8 度音或倍频程 Octave( 即我们画 频响特性图时所用的术语“倍频程” )。根据两只老虎简谱和十二平均律计算出该小节每个乐音的频率,在 MATLAB 中生成幅度为1,抽样频率为8000kHz的正弦信号表示这些乐音,用sou nd播放合成的音乐图1-2 乐曲两只老虎曲谱由图可知两只老虎的曲调定为 C,即 仁C,对应的频率为261.63Hz,据此可以计 算出其他乐音的频率,类推计算出各乐音对应的频率见表1-1部分乐音对应的频率: 表1-1部分乐音对应的频率乐音1231123134频率261.293.329.261.261.293.329.26
8、1.329.349.23636663636366636363乐音5345频率392329.349.3926323在确定了各乐音的频率之后需要确定每个乐音的持续时间。每小节有两拍,一拍的时 间是0.5此部分乐音的持续时间见表1-2部分乐音对应的时间:表1-2 部分乐音对应的时间乐音1231123134时间0.50.50.50.50.50.50.50.50.50.5乐音45345时间0.510.50.51而在MATLA中表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点, 抽样点数的多少就可表示出每个乐音的持续时间的长短。用一个行向量来存储这段音乐对应的抽样点,在用sou
9、nd函数播放即可。根据以上分析在MATLA中编写如下程序:soun d_1_1.mclear;clc;fs=8000;%t样频率f=261.63293.66 329.63 261.63 261.63 293.66 329.63 261.63 329.63 349.23392 329.63 349.23 392;%各个乐音对应的频率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=le ngth(time);%这段音乐的总抽样点数east=zeros(1,N);%用east向量
10、来储存抽样点n=1;for num=1:N%利用循环产生抽样数据,nun表示乐音编号t=1/fs:1/fs:time(num)/fs;%产生第nun个乐音的抽样点east( n:n+time( nu m)-1)=si n(2*pi*f( nu m)*t);沖由样点对应的幅值n=n+time( nu m);endsound(east,8000);%播放音乐2 设计与实现2.1 简单的音乐合成根据两只老虎片段的简谱和“十二平均律”计算出该片段中各个乐音的频率, 在 MATLAB 中生成幅度为 1 、抽样频率为 8000kHz 的正弦信号表示这些乐音。请用 sound 函数播放每个乐音,听一听音调是
11、否正确,最后用这一系列乐音信号拼出两只 老虎片段,注意控制每个乐音持续的时间要符合节拍,用 sound 函数播放合成的乐 音。2.12 Matlab 源代码clear;clc;fs=8000;%抽样频率f=261.63 293.66 329.63 261.63 261.63 293.66 329.63 261.63 329.63 349.23392 329.63 349.23 392;%各个乐音对应的频率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(ti
12、me);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);%播放音乐2.1.3 运行结果分析初步合成的音乐音调符合曲谱,能听出两只老虎的旋律。2.2 除噪音,加包络2.2.1 原理分析你一定注意到 (1) 的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续 产生了高频分量。这种噪声严重影响合成音乐的质量,丧失真实感,下面通过加
13、包络 来消噪音。最简单的包络为指数衰减。最简单的指数衰减是对每个音乘以 e t 因子,在实验 1.5t中首先加的是e .的衰减,这种衰减方法使用的是相同速度的衰减,但是发现噪音 并没有完全消除,播放的音乐效果不是很好,感觉音乐起伏性不强。于是采用不同速 度的衰减,根据乐音持续时间的长短来确定衰减的快慢,乐音持续时间越长,衰减的 越慢,持续时间越短,衰减的越快。2.2.2 Matlab 源代码clear;clc;fs=8000;%抽样频率f=261.63 293.66 329.63 261.63 261.63 293.66 329.63 261.63 329.63349.23 392 329.6
14、3 349.23 392; % 各个乐音对应的频率;%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);%这段音乐的总抽样点数xio=zeros(1,N);%用 east 向量来储存抽样点n=1;for num=1:N%利用循环产生抽样数据,num表示乐音编号t=1/fs:1/fs:(time(num)/fs;%产生第 num个乐音的抽样点P=zeros(1,time( num);%助存储包络数据的向量L=(time(num)* 0 1/
15、5 3/8 5/8 1;%包络线端点对应的横坐标T=0 1.5 1 1 0;%包络线端点对应的纵坐标s=1;b=1:1:time(num);%产生包络线抽样点fork=1:4P(s:L(k+1)-1)=(T(k+1)-T(k)/(L(k+1)-L(k)*(b(s:L(k+1)-1)-L(k+1)*ones(1,L( k+1)-s)+T(k+1)*ones(1,L(k+1)-s);%包络线直线方程通式s=L(k+1);endlaohu (n:n+time(num)-1)=sin(2*pi*f(num)*t).*P(1:time(num);%给第num个乐音加上包络n=n+time(num);en
16、dsound(laohu ,8000);plot( laohu );wavwrite( laohu ,' laohu 2')2.2.3 运行结果分析 播放后可以听出噪音已经消除,同时因为不同时长的乐音衰减的快慢不一样,音乐听起来更有起伏感,如图为 2-1 波形图。图 2-1 laohu1 加包络波形图2.3 加谐波2.3.1 原理分析在音乐中加上二、 三、四次谐波, 基波幅度为 1,高次谐波幅度分别为 0.2 、0.3 、0.1。2.3.2 Matlab 源代码clear;clc;fs=8000;%抽样频率f=261.63 293.66 329.63 261.63 261.63
17、 293.66 329.63 261.63 329.63349.23 392 329.63 349.23 392; % 各个乐音对应的频率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); xio=zeros(1,N); n=1;%这段音乐的总抽样点数%用 east 向量来储存抽样点for num=1:N%利用循环产生抽样数据,num表示乐音编号%各个乐音对应的频率t=1/fs:1/fs:(time(num)/fs;%产生第num个乐音的抽样点%励存储
18、包络数据的向量P=zeros(1,time(num);L=(time(num)*0 1/5 3/8 5/81;T=0 1.5 1 1 0; s=1; b=1:1:time(num);%包络线端点对应的横坐标%包络线端点对应的纵坐标%产生包络线抽样点fork=1:4P(s:L(k+1)-1)=(T(k+1)-T(k)/(L(k+1)-L(k)*(b(s:L(k+1)-1)-L(k+1)*ones (1,L(k+1)-s)+T(k+1)*ones(1,L(k+1)-s);%包络线直线方程通式s=L(k+1);endm=1 0.3 0.2;激形幅值矩阵ss=zeros(1,le ngth(t);fo
19、r i=1:le ngth(m)ss=ss+m(i)*si n( 2*i*pi*f( num)*t);%加谐波endlaohu( n:n+time( nu m)-1)=ss.*P(1:time( nu m);9給第num个乐音加上包络laohu (n:n+time( nu m)-1)=si n(2*pi*f( nu m)*t).*P(1:time( num);9給第num个乐音加上包络n=n+time( nu m);endsou nd(laohu,8000);plot(laohu);wavwrite(laohu,' laohu 3')2.3.2运行结果分析音乐中加上二、三、四次谐波,基波幅度为1,高次谐波幅度分别为0.2、0.3、0.1,如图为2-2波形图。图2-1 laohu2加谐波波形图3总结与体会通过这次的课程设计,加深了我们对数字信号处理所学知识的了解,增强了我们 对教学知识的运用和主动研究的能力。让我们掌握信号处理过程的仿真设计方法。 通过模仿老师所给的例题和所收集的资料例题,编写Matlab仿真程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026校招:机器学习工程师题目及答案
- 2026校招:河钢集团笔试题及答案
- 2026年治疗痘痘合同(1篇)
- 2026校招:滴滴面试题及答案
- 2025-2026 学年下学期八年级英语下册教学计划
- 2025-2026学年英语数字歌教案
- 2025-2026学年hsk教材教案
- 【学前教育类】2020年山东省普通高校招生(春季)试题专业知识试题(含答案)
- 2025-2026学年舞厅舞教学设计美术课件
- 2026年巴中职业技术学院单招职业技能测试题库及一套参考答案详解
- 六年级阅读题打印20篇
- DB53∕T 1269-2024 改性磷石膏用于矿山废弃地生态修复回填技术规范
- 中信保操作基础手册
- 2024年重庆市中考数学真题试卷及答案解析(b卷)
- JBT 14727-2023 滚动轴承 零件黑色氧化处理 技术规范 (正式版)
- 2024年化工总控工(四级)考试题库(附答案)
- 2017年1月自考11501中国当代文学史试题及答案含解析
- 出国日语培训方案
- T-SHNA 0005-2023 成人住院患者肠外营养输注护理
- 纯音测试报告
- 高中数学教学三年一体规划
评论
0/150
提交评论