




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号:110900735 姓名:谢冬云 MATLAB 实践 课程设计学生姓名: 学 号: 110900735 专业班级: 09级信通(3)班 指导教师: 郑晓明 二一二 年 六 月 二十 日目 录一、设计目的2二、题目分析22.1 课程设计的基本要求22.2 课程设计的内容2三、总体设计23.1总体设计框架23.2 功能模块3四、具体设计44.1单音键盘发音模块44.2 音效长短的选择模块54.3包络的选择模块54.4实现键盘代替鼠标输入模块64.5 双音多频模块94.6 演奏音乐模块94.7 播放歌曲,视频模块114.8 多键盘输入对输入后统一播放模块144.9 画图模块15五、结果分析15六、心得体会16七、参考书目:17一、设计目的运用MATLAB实现MATLAB的GUI的信号处理程序设计。做一个基于MATLAB GUI的音乐键盘。二、题目分析2.1 课程设计的基本要求1)熟悉和掌握MATLAB 程序设计方法。2)掌握MATLAB GUI 程序设计。3)学习音乐合成基本知识。2.2 课程设计的内容学习MATLAB GUI程序设计,设计和实现一个音乐键盘仿真系统。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 1)设计音乐键盘GUI界面,实现单音键盘的发声。2) 能改变音的长短,即可以实现音的缩短,延长。3)实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一 个频率,实现按键的发出双音。4)能改变音乐包络形式,实现音型的改变。5)能够演奏一段音乐。6)为界面添加背景音乐,实现wav格式的声音的播放,同时可以用本软件播放视频,但是matlab不支持画音同步的功能,但是可以看到没有声音的视频。7)能够实现对键盘的输入按键进行存储,等到输入结束后统一播放刚才输入的键盘按键相对应的声音。三、总体设计3.1总体设计框架总体设计框图如下图所示,其包括单音键盘发音模块,音效长短的选择模块,包络的选择模块,实现键盘代替鼠标输入模块,双音多频模块,演奏音乐模块,播放歌曲,视频模块包括对文件播放的暂停,停止和复位,多键盘输入对输入后统一播放模块和画图模块。3.2 功能模块1)单音键盘发音模块设计一个带参子函数实现键盘的发音功能,当实现需要实现音阶的播放时,只要调用这个子函数,并根据不同音阶、不同音调的频率改变子函数的参数即可。2) 音效长短的选择模块制作一个button group的组控件分别选择不同的控件实现不同的音效长短,音效的长短是通过改变播放一个音阶的时间长短来实现的。3)包络的选择模块制作一个button group的组控件分别选择不同的控件实现不同的包络,在模块一的基础上,设置选中不同的控件分别对应不同的包络,x为不同包络(如正弦波、三角波、指数等)的表达形式,将x与模块一中实现单音键盘发音的函数相乘时便可实现不同形式的衰减,实现音型的改变。4)实现键盘代替鼠标输入模块根据计算机键盘上的不同按键对应不同的ASCII码的值,利用函数get()获取当前所按下的数字键对应的ASCII码的值,根据 ASCII码的值判断对应是按下键盘的值。并执行相应音阶的功能键。5)双音多频模块通过设置一个radio button 来实现双音多频的功能,设置一个全局变量,当选中该控件时,全局变量的值改变,即在带参的子函数中增加它的频率分量。就可以实现双音多频功能。6)演奏音乐模块 通过设置一个push button键来实现,按下该键时,可以选择事先自己编好的txt的文档,通过这个文档就可以播放音乐。7)播放歌曲,视频模块根据matlab提供的函数,视频时首先对文件的名字和路径进行提起,直接对文件的播放。音乐的则是首先对文件的名字和路径进行提起,得到名字和路径后就对该文件进行采样,使其离散化。最后实现对文件的播放。8)多键盘输入对输入后统一播放模块该功能实现先对键盘输入内容进行存储,当输入完成后就可以按播放键对刚才的存储内容进行播放,本功能通过radio button键实现的键盘输入的存储,当该建被选中时,则会不断的扫描键盘是否有键盘按下,并对按下键进行存储,直到该键没有被选中为止,同时设置一个push button键对存储的信息进行播放,播放完成后自动清除存储的内容,以便下一次存储。9)画图模块该模块的功能是根据播放每一个音符的数组画出每一个音符的波形,使我们对播放的音型可以一目了然,便于观察与分析。四、具体设计4.1单音键盘发音模块 (1)GUI界面的设计根据要求,首先利用push button键作为单音键盘的发音键。17七个音阶对应高中低三种不同的音调共21个键,还有15个辅音,共36个按键。如图所示,白色的按键代表音调键,前7个是低音的七个音阶,中间7个是中音的七个音阶,后面7个是高音的七个音阶,黑色的代表辅音。(2)程序设计查阅相关资料可知,发音频率对应的表达式为f=440*2(s-49)/12),当所发音为低音时s的取值为3137,发中音时s的取值为4046,发高音时s的取值为4955。为了程序设计简化目的,设计一个名为gangqin(s)的子函数,程序如下:function gangqin(s) % 演奏音符global r;global n;global ff;global T;global p;f=440*2(s-49)/12); %各音阶的频率n=0:1/8000:T; %各音阶的长短if p=1 %选用包络 x=exp(-3*n);elseif p=2 x=exp(-3*n).*sawtooth(2*pi*50*n);elseif p=3 x=exp(-3*n).*sin(2*pi*n);endif r=1 %选用单频还是多频 ff=x.*sin(f*2*pi*n)+0.2*x.*sin(f*4*pi*n)+0.05*x.*sin(f*8*pi*n);else ff=x.*sin(f*2*pi*n);endaxes1_CreateFcn(); %画图soundsc(ff); %播放音符有以上带参的子函数后则每个键盘下面的程序非常简单,然后在每个push button键的callback函数中调用该子函数即可,如qangqin(45);4.2 音效长短的选择模块(1)GUI界面的设计制作一个button group的组控件分别选择不同的控件实现不同的音效长短,该组控件包括三个radio button分别对应不同的音效长短(长,中,短)。界面如下图所示:(2)程序设计音效长短的改变实质上是改变其音阶播放时间的长短,定义一个全局变量T通过改变T的值来改变音效的长度,gangqin的子函数如上面所示,该组控件的程序如下面所示:global T;g=get(handles.yinxiao,selectedobject); %获得音效的选中对象gt=get(g,tag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版旅游借款合同授权委托及行程保障协议
- 2025年新型城镇化建设项目咨询工程师合作协议
- 二零二五年度出租车车辆转租及保险服务合同
- 2025年电子商务运营专家面试预测题及实战指南
- 2025版智慧社区运营委托策划与管理服务合同
- 2025年化工操作工入门手册炼油方向面试准备与模拟题解答
- 2025版旅游公益项目合同范本下载
- 二零二五年度IT运维团队人员劳动合同书
- 2025版建筑消防工程消防应急照明系统安装合同范本
- 二零二五年度生态循环农业与菜场承包合同
- 医学一等奖《白血病》课件
- 2-第二章-各向异性材料的应力-应变关系
- 发现普洱茶的第一个医学实验报告
- 全自动血液细胞分析仪参数
- (完整版)过去完成时ppt
- 1输变电工程施工质量验收统一表式(线路工程)
- 养老护理员(技师、高级技师)知识考试复习题库(含答案)
- 学校安全“日管控、周排查、月总结”工作制度
- 机械原理课程设计15吨压片机设计
- 2023年五四青年节演讲比赛PPT担负青年使命弘扬五四精神PPT课件(带内容)
- 2023年义务教育音乐2022版新课程标准考试测试题及答案
评论
0/150
提交评论