Matlab课程设计报告--MATLAB GUI的音乐键盘仿真

《 MATLAB 实践 》
课程设计
1.设计目的…………………………………………………3
2.题目分析…………………………………………………3
唱游课3.总体设计…………………………………………………4
4.具体设计…………………………………………………4
5.结果分析…………………………………………………15
6.心得体会…………………………………………………15
1、设计目的:
运用MATLAB实现MATLAB的GUI程序设计。
2、题目分析:
课程设计题目:
MATLAB GUI的音乐键盘仿真
课程设计的基本要求:
卫星数字电视
1)熟悉和掌握MATLAB 程序设计方法。
2)掌握MATLAB GUI 程序设计。
3)学习音乐合成基本知识。
设计分析:
这次使用的设计软件是MATLAB的GUI模块,要设计一个音乐键盘要知道一个最简单的键盘本身要有36个发音键,既21个音阶和15个辅音阶。于是就要在界面上画出36个pushbutton键,再根据其他要求的功能设计出其他相应的模块。
模拟键盘发音是使用音频函数soundsc将不同频率的函数以声音的模式表现出来,而每个
音阶相差频率f=440*2^2/12;音阶与相应的辅音阶相差频率f=440*2^1/12。有了音乐合成的这些基本知识后便可根据自己需要设计界面根据功能编写相应的回调函数。
课程设计的内容:
学习MATLAB GUI程序设计,设计和实现一个音乐键盘仿真系统。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。
1)设计音乐键盘GUI界面,实现单音键盘的发声。
2)实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。
3)能改变音乐包络形式,实现音型的改变。
4)能够演奏一段音乐。
5)改变键盘的音,给基音加上泛音序列,模拟不同的乐器演奏。
6)选作:根据节奏节拍,根据简谱自动演奏一段音乐。
3、总体设计
其中琴键区域实现按键发声,可用鼠标点击,也可以用键盘实现;显示屏区域实现声音波形的实时显示;控制区域实现对整个系统的控制,包括音乐播放、暂停、停止,视屏播放,乐器切换,节拍切换和谐波切换。
4、具体设计乌鲁木齐 事件
    外板设计图如下:
4.1 琴键区域设计
(1)界面设计
   
(2)单个按键函数设计
该琴键设计为C调,1对应频率为261.63Hz,相邻两键为一个半音,频率比为:2^1/12,因此后面频率类推,如2对应293.67Hz。
单个按键函数如下:
function pushbutton1_Callback(hObject, eventdata, handles)
f=261.63;
if get(handles.radiobutton3,'Value')==1;
    N=8000;
end;
if get(handles.radiobutton4,'Value')==1;
    N=2000;
end;
if get(handles.radiobutton5,应收账款周转率'Value')==1;
    N=25000;
end;
if get(handles.radiobutton9,'Value')==1;
    T=1;
end;
if get(handles.radiobutton10,'Value')==1;
    T=0.5;
end金花瓶1999;
if说唱音乐 get(handles.radiobutton11,'Value')==1;
    T=0.25;
end;
n=0:1/N:T;
x=exp(-2*n);
if get(handles.radiobutton14,'Value')==1;
    ft=x.*sin(f*2*pi*n);
end
if get(handles.radiobutton13,'Value')==1;
    ft=x.*sin(f*2*pi*n)+0.2*sin(f*2*2*pi*n);
end
if get(handles.radiobutton12,'Value')==1;

本文发布于:2024-09-23 01:28:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/286032.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实现   音乐   设计
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议