Matlab音乐合成实验报告

音乐合成实验 目录 音乐合成实验1 摘要:2 第一部分 简单的合成音乐2 1.1合成《东方红》2 1.2 除噪音,加包络3 1.3改变程序,实现1.2中的音乐升高和降低一个八度9 1.4 在1.2的音乐中加入谐波10 1.5 自选音乐合成——《两只老虎》11 第二部分 用傅里叶变换分析音乐12 2.1 载入fmt.wav并播放12 2.2 载入文件Guitar.mat,处理原始数据realwave12 2.3 分析wave2proc的基波和谐波14 2.4 自动分析fmt.wav的音调和节拍17 第三部分基于傅里叶级数的音乐合成20 3.1 用2.3分析出来的结果重新加谐波20 3.2 通过2.4提取的吉他音调信息弹奏《东方红》20 实验收获22 摘要: 本文共有三大部分:第一部分,简单的音乐合成;第二部分,用傅里叶变换分析音乐;第三部分,基于傅里叶级数的音乐合成。由潜入深,一步一步分析了用MATLAB进行音乐合成的过程。通过本实验达到了加深对傅里叶级数和傅里叶分析的理解,熟悉对MATLAB基本使用的目标。 第一部分简单的合成音乐 1.1合成《东方红》 根据《东方红》第一小节的简谱和十二平均律计算出该小节每个乐音的频率,在MATLAB中生成幅度为1,抽样频率为8kHz的正弦信号表示这些乐音,用sound播放合成的音乐 由图可知《东方红》的曲调定为F,即1=F,对应的频率为349.23Hz,据此可以计算出其他乐音的频率,例如5对应的频率为,一次类推计算出第一小节各乐音对应的频率为: 乐音 5 5 6 2 1 1 6 2 频率 523.25 523.25 587.33 392 349.23 349.23 293.66 392 在确定了各乐音的频率之后需要确定每个乐音的持续时间。每小节有两拍,一拍的时间是0.5s,因此各乐音的持续时间为: 乐音 5 5 6 2 1 1 6 2 时间 0.5 0.25 0.25 1 0.5 0.25 0.25 1 而在MATLAB中表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。用一个行向量来存储这段音乐对应的抽样点,在用sound函数播放即可。 根据以上分析在MATLAB中编写如下程序: sound_1_1.m clear;clc; fs=8000;%抽样频率 f=[523.25 523.25 587.33 392 349.23 349.23 293.66 392]; %各个乐音对应的频率 time=fs*[1/2,1/4,1/4,1,1/2,1/4,1/4,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); end sound(east,8000);%播放音乐 在MATLAB中运行sound_1_1.m,播放出了《东方红》的第一段,但是可以听出效果很不好,只能听出具有《东方红》的调子而已。 1.2 除噪音,加包络 在1.1中听到有“啪”的杂声,下面通过加包络来消噪音。 最简单的包络为指数衰减。最简单的指数衰减是对每个音乘以因子,在实验中首先加的是的衰减,这种衰减方法使用的是相同速度的衰减,但是发现噪音并没有完全消除,播放的音乐效果不是很好,感觉音乐起伏性不强。于是采用不同速度的衰减,根据乐音持续时间的长短来确定衰减的快慢,乐音持续时间越长,衰减的越慢,持续时间越短,衰减的越快。在1.1程序的基础上加上包络,编写如下程序: sound_1_21.m clear;clc; fs=8000;%抽样频率 f=[523.25 523.25 587.33 392 349.23 349.23 293.66 392]; %各个乐音对应的频率 time=fs*[1/2,1/4,1/4,1,1/2,1/4,1/4,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个乐音的抽样点 G=zeros(1,time(num)); %G为存储包络数据的向量 G(1:time(num))=exp(1:(-1/time(num)):1/8000); %产生包络点 east(n:n+time(num)-1)=sin(2*pi*f(num)*t).*G(1:time(num)); %给第num个乐音加上包络 n=n+time(num); end sound(east,8000);%播放 plot(east); 播放后可以听出噪音已经消除,同时因为不同时长的乐音衰减的快慢不一样,音乐听起来更有起伏感,下图是加包络后的east图像。 更科学的包络如下图所示,每个乐音都经过冲激、衰减、持续、消失四个阶段。 由上图可以看出这个包络是四段直线段构成的,因此只要确定了每段线段的端点,即可用端点数据写出直线方程,因为直线方程可以用通式写出(我用的是斜截式),因此这段包络可以用简单的循环来完成。例如认为包络线上的数据如下图所示: 据此在MATLAB中编写如下程序: sound_1_22.m clear;clc; fs=8000;%抽样频率 f=[523.25 523.25 587.33 392 349.23 349.23 293.66 392]; %各个乐音对应的频率 time=fs*[1/2,1/4,1/4,1,1/2,1/4,1/4,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个乐音的抽样点 P=zeros(1,time(num));%P为存储包络数据的向量 L=(time(num))*[0 1/5 333/

最新matlab音乐合成实验报告,Matlab音乐合成实验报告相关推荐

  1. matlab音乐合成报告,matlab音乐合成报告.doc

    PAGE PAGE 24 MATLAB音乐合成综合实验 学院: 班级: 指导老师:吴宪祥 同做者: 二0一六年十二月 PAGE 3 PAGE 3 PAGE 24 摘 要 本实验共有三部分:1.简单的音 ...

  2. matlab音乐合成报告,matlab音乐合成报告

    资源描述: MATLAB音乐合成综合实验 学院 班级 指导老师吴宪祥 同做者 二0一六年十二月 摘 要 本实验共有三部分1.简单的音乐合成:2.用傅里叶变换分析音乐:3.基于傅里叶级数的音乐合成.一步 ...

  3. 用matlab做音乐仿真,Matlab课程设计报告--MATLAB GUI的音乐键盘仿真

    Matlab课程设计报告--MATLAB GUI的音乐键盘仿真 1 MATLAB MATLAB 实践实践 课程设计课程设计 目目 录录 1.1.设计目的设计目的3 3 2.2.题目分析题目分析3 3 ...

  4. matlab音乐键盘模拟,Matlab课程设计报告--MATLAB GUI的音乐键盘仿真

    Matlab课程设计报告--MATLAB GUI的音乐键盘仿真 < MATLAB 实践 > 课程设计 目 录 1.设计目的-------------------3 2.题目分析------ ...

  5. 基于matlab的音乐合成论文,基于matlab软件的音乐合成毕业论文.doc

    基于matlab软件的音乐合成毕业论文.doc 河北经贸大学毕业论文基于MATLAB软件的音乐合成专业名称电子信息工程班级201102学生姓名王雪指导老师章瑞平完成时间2015年5月河北经贸大学毕业论 ...

  6. 《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题目)

    使用 MATLAB 进行生成数字音乐.生成乐器音乐.音乐处理与添加音乐特效 实验要求 第一部分:生成数字音乐 目标: 通过运用MATLAB生成音乐信号,熟悉信号的数学表达.信号的离散表达: 学习MAT ...

  7. 《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题解)

    实验方案 重难点技术. 1.基波频率和音高的推算 实现思路: 乐音是指发音物体有规律地振动而产生的具有固定音高的音.基波频率是指声音中使声音达到最强的特定的最低频率.音乐是基波频率和谐波频率合成的,从 ...

  8. matlab用lism求零输入响应,信号与系统实验报告

    信号与系统实验报告 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 信号与系统实验信号与系统实验一.实验目的一.实验目的1. 通过 ...

  9. 信号与系统实验感想 matlab,信号与系统MATLAB实验报告.doc

    信号与系统MATLAB实验报告.doc 成绩 信号与系统实验报告 课 程 名 信号与系统 学 部 机械与电子信息学部 专 业 电子信息工程 学 号 姓 名 曹 禹 指导教师 吴国平 日 期 2013/ ...

  10. matlab音乐信号采集,音乐信号的处理 matlab

    <音乐信号的处理 matlab>由会员分享,可在线阅读,更多相关<音乐信号的处理 matlab(26页珍藏版)>请在人人文库网上搜索. 1.1.音乐信号的音谱和频谱观察 y,f ...

最新文章

  1. ecshop模板smarty foreach详解 [ECshop]
  2. Ruby种的特殊变量
  3. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)
  4. 【python】获取51cto博客的文章列表
  5. 数据库:Redis数据库优点介绍
  6. cc、gcc、g++、CC的区别概括
  7. ZooKeeper动态重新配置
  8. wcf 返回图片_WCF图片上传
  9. c++ array容器 传参_C++ 顺序容器基础知识总结
  10. 《黑白团团》第九次团队作业:Beta冲刺与验收准备
  11. jQuery选择器遇上一些特殊字符
  12. citra模拟器黑屏_Citra 3D模拟器怎么使用,Citra 3D模拟器使用教程
  13. php 知乎源代码,PHP最新仿知乎问答社区源码下载带行业打赏问答支持文章、话题、第三方登录、文章和问题打赏...
  14. attr 与prop 的区别
  15. MySQL数据库中如何查询分组后每组中的最后一条记录?
  16. mysql的存储过程,循环执行插入语句
  17. 依米花音乐播放器php源码下载
  18. xmos-XVF3000简介
  19. 网页Javascript潜入HTML页面方法
  20. C#实现获取多网卡IP地址方法

热门文章

  1. pt-archiver 命令
  2. 国内云服务器提供商排名(仅供参考)
  3. 企业微信的裂变拉新——红包裂变
  4. U8常用的二次开发方式
  5. 有对象的程序猿都是怎么写代码的
  6. 全网显示 IP 归属地,是怎么实现的?
  7. Linux之/etc/login.defs创建用户默认设置文件介绍
  8. 计算机节能+关闭硬盘,优化三:CPU节能关闭_固态硬盘-中关村在线
  9. 计算机无法连接移动硬盘,移动硬盘无法访问怎么办 移动硬盘无法访问解决方法...
  10. 计算机毕业设计项目推荐(源码+论文+PPT)