资源描述:
MATLAB音乐合成综合实验 学院 班级 指导老师吴宪祥 同做者 二0一六年十二月 摘 要 本实验共有三部分1.简单的音乐合成;2.用傅里叶变换分析音乐;3.基于傅里叶级数的音乐合成。一步一步分析了用MATLAB进行音乐合成的过程。通过本实验达到加深对傅里叶级数和傅里叶分析的理解,熟悉对MATLAB基本使用的目标。该实验采用MATLAB软件仿真来实现。首先,通过编程对一段真实的音乐进行分析、处理,求得这段音乐的基频、谐波分量、等数据;然后,通过对乐理的研究,根据分析中求得的数据编写程序,进行基于傅里叶分析的音乐合成设计,并设计了图形用户界面。 目 录 1. 绪论 1.1 引言..........................................................3 1.2 实验要求......................................................3 1.3 实验原理......................................................3 2. 简单的合成音乐 2.1 乐理知识介绍..................................................4 2.2 利用MATLAB实现音乐合成器,生成 WAV文件.......................5 2.3 除噪音,加包络................................................5 2.4 音乐升高和降八度..............................................9 2.5 加入谐波......................................................9 3. 用傅里叶变换分析音乐 3.1 载入fmt.wav并播放............................................11 3.2 处理realware.................................................11 3.3 分析wave2proc的基波和谐波....................................13 3.4 自动分析fmt.wav的音调和节拍..................................16 4. 基于傅里叶级数的音乐合成 4.1 重新加谐波...................................................17 4.2 通过音调信息弹奏送别.....................................19 5. 制作GUI界面......................................................20 6.实验难点及问题...................................................21 7.实验收获.........................................................22 1.绪论 1.1 引言 信号与系统的概念及分析方法广泛应用于通信、自动控制、航空航天、电子信息、地震学、生物工程等领域,因此“信号与系统”是一门电子信息学科相关专业的主干技术课程。MATLAB是国际上公认的优秀的科技应用软件,随着版本的不断升级,内容也在不断扩充。基于MATLAB的音乐分析与合成实验是针对“信号与系统”课程的重点和难点之一的傅里叶变换和傅里叶级数等内容而设计的。由于该实验是真实音乐的实际应用,可以增进对傅里叶级数和傅里叶变换的理解,加深对信号分析工程应用的理解,提高在信号分析领域的应用能力。 1.2 实验要求 1、3-5人一组,选择不同乐曲,利用MATLAB实现音乐合成器,生成WAV文件; 2、给乐音加包络消噪; 3、实现音乐的升八度和降八度; 4、在音乐中添加谐波; 5、用傅里叶级数分析音乐的基频、音调和节拍; 6、模仿一些常用乐器(如钢琴、吉他等)实现音乐合成; 7、设计GUI界面; 8、提交设计报告。 1.3实验原理 傅里叶变换建立了信号频谱的概念。所谓傅里叶分析即分析信号的频谱频率构成、频带宽度等。要想合成出一段音乐,就要了解该段音乐的基波频率、谐波构成等。因此,必须采用傅里叶变换这一工具。对于连续时间信号ft,其傅里叶变换为 由于其变换两边的函数f t 和F(w)都是连续函数,不适合于计算机处理。MATLAB语言提供了符号函数FOURIER来实现傅里叶变换,但该函数需要信号的解析表达式。而工程应用中经常需要对抽样数据进行傅里叶分析,这种情况下往往无法得到信号的解析表达式,必须采用傅里叶变换的数值计算方法。 如果ft的主要取值区间为[t1,t2],定义Tt2-t1为区间长度。在该区间内抽样N个点,抽样间隔为 则有 可以计算出任意频点的傅里叶变换值,假设Fω的主要取值区间位于[ω1,ω2],要计算其间均匀抽样的k个值,则有 式中 ,为频域抽样间隔。 2. 简单的合成音乐 2.1 乐理知识介绍 乐音的基本特征可以用基波频率、谐波频谱和包络波形3个方面来描述。 基波频率每个指定音调的唱名都对应固定的基波信号频率。所谓唱名是指平日读乐谱唱出的1do、2re、3mi ,每个唱名并未固定基波频率。当指定乐曲的音调时才知道此时唱名对应的频率值。如C调“ 1”的基波频率为261.63HZ,F调“1”的基波频率为349.23HZ,F调“ 5”的基波频率为523.25HZ。 谐波频谱在音乐领域中称谐波为“泛音”,由谐波产生的作用称为音色变化。当指定音调之后,仅指定了乐音信号的基波频率,谐波情况并未说明。各种乐器,如钢琴或单簧管,都可以发出某一音调下的唱名,而人的听觉会明显感觉两者不同,这是由于谐波成分有所区别,频谱结构各异。包络波形不同类型的乐器,包络形状也不相同。在音乐合成实验中,为简化编程描述,通常把复杂的包络函数用少量直线近似。于是,乐音波形的包络呈拆线。有时为了保证在乐音的邻接处信号幅度为零,也可以用指数衰减的包络来表示,这也是最简单的办法。 2.2 利用MATLAB实现音乐合成器,生成 WAV文件 而在MATLAB
展开阅读全文