基于matlab的音乐电子琴制作.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
姓名:吴月月 班级:2013 级电子信息工程 1 班 学号:1308421001 基于 MATLAB 的音乐电子琴制作 简述:电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生 一系列指定的频率的声音,从而达到虚拟的电子琴的功能。本次设计是基于 MATLAB GUI 程序实现的一个音乐键盘仿真系统。 1 功能介绍 总体设计框图如下图所示,其包括单音键盘发音模块,音效长短的选择模块,包络的 选择模块,实现键盘代替鼠标输入模块,双音多频模块,演奏音乐模块,播放歌曲,视频 模块包括对文件播放的暂停,停止和复位,多键盘输入对输入后统一播放模块和画图模 块。 Matlab 的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出, 通过调用这些函数和命令可以直接控制声卡输出虚拟信号。只需要一台带有普通多媒体声 卡并安装了 Matlab 软件的计算机就可以满足要求实现虚拟信号的输出, 系统结构简单方 便。交互界面如图 1 所示: 图 1 程序的交互界面 1 / 13 姓名:吴月月 班级:2013 级电子信息工程 1 班 学号:1308421001 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 / 13 姓名:吴月月 班级:2013 级电子信息工程 1 班 学号:1308421001 2 功能实现 程序由两个部分组成:MATLAB 代码(.m 文件)和 GUI 图形(.fig)。 备注:软件版本:MATLAB R2011b 2.1 单音键盘发音模块

文档评论(0)

汪汪队 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档