课程设计报告(共13页)

上传人:_impsvz****pswzcf... 文档编号:53561356 上传时间:2022-02-10 格式:DOC 页数:13 大小:992.50KB
收藏 版权申诉 举报 下载
课程设计报告(共13页)_第1页
第1页 / 共13页
课程设计报告(共13页)_第2页
第2页 / 共13页
课程设计报告(共13页)_第3页
第3页 / 共13页
资源描述:

《课程设计报告(共13页)》由会员分享,可在线阅读,更多相关《课程设计报告(共13页)(13页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上 至诚学院 MATLAB 实践 课程设计学生姓名: 学 号: 专业班级: 指导教师: 目 录1.设计目的 32.题目分析 33.总体设计 34.具体设计 45.小结和心得 76.参考文献 87.附 录 81、设计目的运用MATLAB实现MATLAB的GUI程序设计。培养学生的工程实践能力,增强学生的程序设计能力和解决实际问题的能力。通过MATLAB实践设计的训练,提高学生对已学相关专业知识的掌握和应用水平。通过学习侧重培养学生树立如何运用所学的专业基础课程来选择设计题目,并培养学生合理安排实现设计的基本程序流程,利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设

2、计的作品。通过课程实践教学,培养学生将已学课程基础理论与实践环节实际相结合。提高学生实践动手能力,为日后参加工作奠定一定的实践基础。也让我们明白了程序设计和MATLAB软件的应用。2、题目分析学习MATLAB GUI程序设计,设计和实现一个音乐键盘仿真系统。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。以下几点是程序的功能:(1)设计音乐键盘GUI界面,实现单音键盘的发声。(2)实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。(3)能改变音乐包络形式,实现音型的改变。(

3、4)能够演奏一段音乐。 (5)能够显示集成音乐的曲谱,并且将之播放。 (6)能够在动态框输入想要的曲谱,并且将之播放。 (7)能够读取电脑键盘的相应,发出与钢琴键盘对应的声音3、总体设计3.1 功能模块 (1)钢琴键盘:先选择音高和包络,点击钢琴键盘即可发音。 (2)电脑键盘:先选择音高和包络,点击相应电脑键盘即可发音。 (3)音高和包络的选择:从菜单栏选择。 (4)自主输入曲谱和播放:从动态框输入曲谱并播放。 (5)集成曲目的选择和播放:从菜单栏选择并播放。 (6)使用指南、关于软件、退出:从菜单栏选择。3.2 软件设计思路 4、具体设计4.1总体界面设置通过这次的设计,总共实现了以下五个功

4、能模块,其中包括:1.音乐键盘GUI界面的设置,包括界面画面的设置。2.这次总共用了实现单音键盘的发声。3.实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。4. 实现音型的改变,能改变音乐包络形式。5.能够演奏一段音乐,音乐的名字是小星星。4.2,各个功能模块实现第一点,界面的设置:这次共用了12个键盘。及其七个图相框,其中键盘一组之间共12键,7个白键,5个黑键,按规定每相邻半音的频率比值为122=1.,还有一个静态文档,一个文本框组成。图片采用以下图片和及其应用程序。第二点,实现单音的发音。单音的发音主要是老师给的一个程序,通过更改n的值可以改

5、变音的长短,改变f00的频率就可以改变音质,f0000=sin(f00*2*pi*n);是一个主音频率,soundsc(f0000);是播放声音。k=2.(1/12);f00=220;n=0:1/8000:1;f0000=sin(f00*2*pi*n);soundsc(f0000);第三点,实现键盘的双音多频。通过在单音的基础上加上一个谐波或者多个谐波,让主音频率出现叠加。这个不仅可以让音质得到根本上的提高,也可以调节声音让其变的更加悦耳。k=2.(1/12);f00=220.*(k.12);n=0:1/8000:0.3;f0000=(sin(f00*2*pi*n)+0.5*sin(f00*4

6、*pi*n);soundsc(f0000);第四点,实现音型的改变,能改变音乐包络形式。这个主要是在f0000的单音或者多音的基础上加上一个包络,可以用方波,锯齿波,三角波等函数和它相乘第五点,能够演奏一段音乐,音乐的名字是小星星。这个原理主要是通过根据谱来使得一个个音来拼凑而成,在改变一下它的播音时间,就可以较为连贯的播出。具体程序参见附录。4.3各模块的调试结果。4.3.1,能够通过单音播放音乐,根据老师所给的单音,可以让键盘播出一个拉长的音,通过更改n的间隔范围或者取值范围可以让音变得拉长或者变短。本题通过把0到0.3之间取值范围为8000份。经过调试可以成功。4.3.2,多音多频的调节

7、主要是在于主函数加上的其他谐波函数,这次是加上0.5.*sin(f00*4*pi*n),当然也可以加上更多的谐波,让音质得到一定的变更,此次调试也得到了成功。4.3.3,包络的添加及其改变主要还是通过包络函数,本次采用的是e指数的衰减函数,当然可以添加其他的包络,这样的添加效果可以改变音质,听出来的感觉与没有加包络的感觉是不一样的。同理其他包络也是一样。起初添加的包络和函数没有匹配,导致演奏不出来,经过检查得到了改正。4.3.4,歌曲的添加,这次添加的歌曲通过百度得到小星星的歌谱,然后在通过叠加得到了这首,当然添加其他的也行。起初,听起来的声音是拉长音,通过更改n的值得以连贯。5、小结和心得

8、通过这次实践,让我学到了很多,明白了很多。首先在第一节课郑老师讲的MATLAB的GUI界面设置包括各个键的功能以及回调函数的应用和通过课后的练习,让我对这次实践有了进一步的理论和实践基础。在写下MATLAB设计任务安排的时候,期间的进度由于事先没有写详细以至于在安排的进度上出现了小差错,导致做出来的作品不够完善。在摸索的道路上慢慢前行,在第一周的时候做出了单音,在通过问老师,同学和上网查找资料的基础上,慢慢加上了包络,和双音双频等,经过这次的亲自实践熟悉和掌握MATLAB 程序设计方法,掌握了最基础的MATLAB GUI 程序设计,学习了音乐合成基本知识。当然这次实验也存在着不足,虽然懂的添加

9、文本选择框,但是却没有正确的回调函数让其运行,使得能够添加更多的功能和演奏项目。虽然用了if else 但是还是不行,通过老师的指导用swith case 但是中途中还是出现了不足之处,系统提示出现错误,所以经过这次的实践也让自己明白了一个人的力量是有限了,需要和同学们进行商量与讨论。经过这次MATLAB实践课,充分的让自己尝试的结果得到体验与能力得到体现。相信不仅仅通过这门课让自己在毕业前得到了一次很好的锻炼,更是希望能够引以为鉴,争取在程序中得到加强,在其他设计方面得到进一步突破,让自己不断积累经验。通过这个也让我明白了这门课的有趣与神奇。以下是经过整改和修正后的最终图片,功能在过程中在添

10、加文本中失败,以及程序最终没能够成功,以至于用简单的程序完成此次的实践,虽然这门课程结束了,但是也希望自己能够在接下来中更加的出色。 6、参考书目:1 MATLAB实用教程 郑阿奇 电子工业出版社2 信号系统-MATLAB综合实验 谷源涛 高等教育出版社3 基MATLAB的信号与系统试教程 徐利民 舒军编著 清华大学出版社4 信号与系统MATLAB综合实验 谷源涛 高等教育出版社7、附录7.1 一闪一闪亮晶晶歌曲程序附录专心-专注-专业k=2.(1/12);f00=220.*(k.3);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0

11、.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.3);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.10);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.10);n=0:1/8000

12、:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.12);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.12);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc

13、(f0000);k=2.(1/12);f00=220.*(k.10);n=0:1/8000:1;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000); k=2.(1/12);f00=220.*(k.8);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.8);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(s

14、in(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.7);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.7);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k

15、.5);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.5);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.3);n=0:1/8000:1;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*

16、n);soundsc(f0000); k=2.(1/12);f00=220.*(k.10);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.10);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.8);n=0:1/8000:0.3;x=exp(-2*n

17、);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.8);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.7);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12

18、);f00=220.*(k.7);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.5);n=0:1/8000:1;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.10);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5

19、*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.10);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.8);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.8);n=0:1/8000:0.

20、3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.7);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);k=2.(1/12);f00=220.*(k.7);n=0:1/8000:0.3;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f000

21、0);k=2.(1/12);f00=220.*(k.5);n=0:1/8000:1;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);7.2 乐音基本知识声音是由物体振动(如声带琴弦等)产生的波,人类能听到的声音频率范围集中在10-20kHZ,低于该范围的声波称次声波,高于该范围的称为超声波。声音的强弱由振幅决定人耳听力范围为0-120dB左右。声音的频率和振幅会随着时间的改变而改变,并最终趋于静止,一般把 声音的发展过程分为四个阶段,分别为触发,衰减,保持和消失,这四个阶段称为“包络”,包络时间就

22、是一个声音的长短。音乐是乐音随时间流动而形成的艺术。从信号系统的角度看,音乐就是周期信号频率随着时间变化的一种表述,乐谱上的每个音符表达了此时此刻规定出现的信号频率和持续时间。1音乐曲调由音阶组成,音阶由音组成。不同的音有不同的振动频率,声音振动的频率决定了的音符的音高(pitch)。人们选取一定频率的音符来形成音乐体系所需要的音高。不同音高的乐音,用CDEFGAB表示的,这七个拉丁字母就是乐音的音名(Pitch Name)。音名对应固定的基波信号频率,如每秒振动440次的声音是目前国际通用的标准音A。物体振动发音往往包含复杂的频谱结构,如小提琴,A弦振动时,除了产生主要的基音频率(440HZ

23、)还产生基音的1/2,1/3,1/4频率的泛音。如果过一个物体振动所发出的泛音为基音的整数倍,这个音具有清晰可辨的音高,而噪音通常不具备该条件。我们把这些按顺序排列的泛音称为泛音列,由于不同物体有不同特征的泛音列,这些泛音列的排列也就构成了声音的特性:音质。 因此,乐音的基本特征可以用基波频率,谐波频率和包络波形三方面描述。7.2.1 乐音的基波十二平均律(十二等程律)是将8度的音程(2倍频程)按频率等比率地分成十二等分,每一等份称为一个半音即小二度。一个大二度(即全音)则是两等份。半音是十二平均律组织中最小的音高距离。升高半音用“#”符号表示,降低半音用“b”符号表示。十二平均律在交响乐队和

24、键盘乐器中得到广泛使用,现在的钢琴即是根据十二平均律来定音的。如:小字组a(对应钢琴键是37)的频率值 小字1组a1(对应钢琴键是49A)的频率值从小字组到小字一组之间共12键,7个白键,5个黑键,按规定每相邻半音的频率比值为122=1.,根据这规定,就可以得出钢琴上每一个琴键音的频率。用CDEFGAG来表示不同的音名,一次唱成do,re,mi,sol,la,si(简谱:)又称唱名(syllable names)。每个唱名并未固定基波频率,当指定乐曲的音调时才知道此时对应的音名,亦即确定了对应的频率值。例如,若指定乐曲为C调,此时唱名与音名的对应关系如下图所示: 可见,1音对应频率 261.6

25、3Hz。还可以看出,34和7i唱名之间对应半音,其余唱名之间对应全音。如果改为F调,唱名和音名的对应关系如下图所示 其中,它的1对应F,频率值为349.23Hz,为了保持34之间的半音规律,4对应bB。7.2.2 乐音的谐波乐音谐波(泛音)的作用是改变乐音的音色。无论是钢琴的弦和人生的振动,都不是纯净的基音,从基音的泛音开始,纯八度纯五度的各度紧随其后,每个乐器都有各自的谐波分布规律,如单簧管的三次五次谐波成分很强。我们把按顺序排列起来的泛音,称为泛音列。不同的物体可以具有不同数量的泛音列,这些泛音列几乎无限的排列组合构成物体的个数音质。如果只考虑乐音的基波成分,每个音名对应不同频率的正弦/余

26、弦波,当引入谐波后,波形不再是简单的正弦函数,可能成为锯齿波或三角波等。7.2.3 音乐包络乐音包络是描述乐音特征的一个重要因素,不同类型的乐器演奏的音符,是类似通信系统中的调制,即形式的信号。寻找不同乐器演奏不同音符,可以进行较逼真的电子音乐合成。7.2.4 乐音的持续时间音调的持续时间取决于它是全音符,二分之一音符还是八分之一音符。很明显,1/4音符的持续时间是1/8音符的两倍。而每个音符之后的停顿时间相同,在乐谱中,更长的停顿时间要用休止符来表示。7.2.5 音符的重叠音乐演奏中相邻的音符有时会有重迭,就是当一个音调还没有消失时,另一个已经开始演奏,称“音符的叠接”。数学表示为:,和是演

27、奏的前后音符。这样听起来会更连续,较少断音。叠接时两个信号的幅度差别要大,以保证被区分开来。多声部音乐中,按一定的音程关系(主要为三度)叠置起来的三个或三个以上的音同时或先后发声成为和弦。主要包括三和弦(三个音),七和弦(四个音),变和弦(包含变音)几种类型。7.3MATLAB乐音模拟音频操作函数:通用音频操作函数audioplayer创建声音播放对象audiorecorder麦克风端口实时声音获取lin2mu线形音频转为律压扩音频mu2lin律压扩音频转为线形音频sound把向量转化为声音对象播放soundsc数据被自动校正幅度和除直流后播放beepSPARC工作站声音文件管理auread读取.au类型文件auwrite写入.au类型文件wavplay播放.wav文件wavread读取.wav文件wavrecord从音频输入接口录音wavwrite写入.wav文件

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!