- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB的音乐电子琴制作剖析
基于MATLAB的音乐电子琴制作
简述:电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。本次设计是基于MATLAB GUI程序实现的一个音乐键盘仿真系统。
1 功能介绍
总体设计框图如下图所示,其包括单音键盘发音模块,音效长短的选择模块,包络的选择模块,实现键盘代替鼠标输入模块,双音多频模块,演奏音乐模块,播放歌曲,视频模块包括对文件播放的暂停,停止和复位,多键盘输入对输入后统一播放模块和画图模块。
Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出, 通过调用这些函数和命令可以直接控制声卡输出虚拟信号。只需要一台带有普通多媒体声卡并安装了Matlab 软件的计算机就可以满足要求实现虚拟信号的输出, 系统结构简单方便。交互界面如图1所示:
图1 程序的交互界面
1.1功能模块
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)画图模块
该模块的功能是根据播放每一个音符的数组画出每一个音符的波形,使我们对播放的音型可以一目了然,便于观察与分析。
2 功能实现
程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。
备注:软件版本:MATLAB R2011b
2.1单音键盘发音模块
根据要求,首先利用push button键作为单音键盘的发音键。1~7七个音阶对应高中低三种不同的音调共21个键,还有15个辅音,共36个按键。如图2所示,白色的按键代表音调键,前7个是低音的七个音阶,中间7个是中音的七个音阶,后面7个是高音的七个音阶,黑色的代表辅音。
查阅相关资料可知,发音频率对应的表达式为f=440*2^((s-49)/12),当所发音为低音时s的取值为31~37,发中音时s的取值为40~46,发高音时s的取值为49~55。为了程序设计简化目的,设计一个名为gangqin(s)的子函数。有以上带参的子函数后则每个键盘下面的程序非常简单,然后在每个push button键的callback函数中调用该子函数即可,如gangqin(45);
图2 单音键盘发音模块
具体代码参见:
function gangqin(s)
2.1.1音效长短的选择模块
制作一个button group的组控件分别选择不同的控件实现不同的音效长短,该组控件包括三个radio button分别对应不同的音效长短(长,中,短)。音效长短的改变实质上是改变其音阶播放时间的长短,定义一个全局变量T通过改变T的值来改变音效的长度,gangqin的子函数如上面所示。界面如图3所示:
图3 音效长短的选择模块
具体代码参见:
Function yinxiao_C
您可能关注的文档
- 基于C51单片机的8×8LED点阵屏汉字显示剖析.doc
- 基于AT89C51音乐播放器剖析.doc
- (南师大期末考试整理)现代自然地理学精选.docx
- (培训课件)应用PDCA循环进一步完善我院质量与安全管理体系精选.ppt
- 基于Cisco的小型写字楼互联网设计与实现剖析.docx
- (安全生产标准化资料13.1-1-1企业安全标准化绩效评定管理制度精选.doc
- (安全员)2016年最新安全员C证考试题库及答案精选.doc
- (安全生产标准化资料4.2-1-3)安全生产规章制度培训和考核情况精选.doc
- 基于AT89S52单片机及PID算法实现循迹避障功能的智能小车【毕业论文,绝对精品】剖析.doc
- (安全生产标准化资料6.2-1-2)设备设施运行台账精选.doc
- 2025年云南工贸职业技术学院中国近现代史纲要期末考试模拟题必考题.docx
- 千万粉丝网红相宜带货再翻车?反诈老陈出手打假澳洲绵羊油.docx
- 2025年新疆哈密地区单招职业适应性测试题库附答案.docx
- 2025年北京信息职业技术学院思想道德修养与法律基础期末考试模拟题必考题.docx
- 2025年辽宁警察学院毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题及答案1套.docx
- 2025年北京宣武红旗业余大学马克思主义基本原理概论期末考试模拟题必考题.docx
- 2026中国邮政储蓄银行天津分行校园招聘(公共基础知识)测试题附答案.docx
- 2026年焦作工贸职业学院单招(计算机)测试备考题库附答案.docx
- 2025年北京舞蹈学院马克思主义基本原理概论期末考试模拟题必考题.docx
- 2025年北京建筑大学中国近现代史纲要期末考试模拟题必考题.docx
最近下载
- T_BJWA 001-2021_健康直饮水水质标准.pdf VIP
- 2025年污水厂技术交底.pdf VIP
- IPC-WHMA-A-620A 线缆及线束组件工艺要求与检验标准.pdf VIP
- 福建农林大学研究生学位论文格式的统一要求(2025年修订).docx VIP
- IPC-A-620培訓教材 培训资料.pdf VIP
- 统编版三年级语文上学期第七单元综合提优卷(B)(含答案).pdf VIP
- 《心理健康与职业生涯》电子教案.pdf VIP
- 肿瘤溶解综合征 (3)ppt课件.pptx VIP
- 高一英语动词的时态、语态和非谓语专项练习(含答案).docx VIP
- 安全生产工作会议记录范文6篇.pdf VIP
原创力文档


文档评论(0)