基于MATLAB软件GUI界面的自制简单电子琴

这是我大一暑期课程《MATLAB基础与应用》的两个小课设之一。

本课设用的是MATLAB及其自带的GUI界面,初步设想是做一个类似于电子琴的发音器。所用到的文件目录如下:

共需要用到4个文件。其中,.m是MATLAB源代码文件,.fig是MATLAB的GUI文件,.jpg和.wav分别是一张图和一段语音,是项目所需的资源文件。

当点击“运行”之后,显示的界面是这个样子的:

在程序最开始,会默认打开目录中的.wav文件,播放一段语音,内容就是“welcome to my piano”。后面还有一个label,它显示的内容也是这句话,label的标志是一个笑脸,就是目录中的.jpg文件。之后就进入了程序的正式界面。如下图:

现在我们来看这个界面。

上方标题之下是2个坐标面板,左右分别显示当前琴音的时域、频域波形。右侧框内显示了琴音的频率数值,当前按下的是小字一组的g(so音),其频率为392Hz。下面的单选框是选择坐标值有无虚线网格。下方的按键是对应计算机键盘作出来的,因为当时的初步想法是按下某一个键盘就响起对应的琴音,但是后来没能实现,所以只好老老实实地用鼠标点击。我一共是作了5组音键:大字组、小字组、小字一组、小字二组、小字三组,频率由低变高。

当按下右侧中间的“Exit”按钮时,会出现以下界面:

确认退出就按“是”,否则就按“否”或“取消”。

最后做一个简单的小结:

这个小项目本身十分粗糙,然而作为一个为期仅有一周的暑期课的课设也不算太low。由于当时的知识储备还比较少,并且也没有乐理方面的基础知识,所以也就没有认识到谐波对音色音质的重要影响,故而琴音只是用计算机模拟的正弦音配上合适的频率而已。如果有读者对这个项目感兴趣,不妨在这点上多做一些优化。另一方面,这个GUI界面也是比较丑的,从审美角度看一个优美的界面应当尽可能隐藏一切细节而把空间最大可能地留给显示部分,具体操作包括把按钮等控件做成菜单或者工具栏等等,所以说这里也有提升的空间。

转载时务必注明来源及作者。尊重知识产权从我做起。

代码已上传至网络,欢迎下载。

链接:https://pan.baidu.com/s/1fTmgdysUI2i8TdyTfVzWEg 密码:3ps7

  • 16
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
基于Matlab GUI的数字电子琴设计是一种利用Matlab的图形用户界面(GUI)工具箱来开发数字电子琴设计方法。数字电子琴是一种乐器,可以模拟各种乐器的音色和音效,并通过电子方式产生音乐声音。 使用MatlabGUI工具箱可以使设计者轻松地创建一个用户界面,其中包含了琴键、音效和控制按钮等组件。通过这个界面,用户可以使用鼠标或键盘按键来演奏音乐。 在设计过程中,可以通过Matlab提供的信号处理和音频处理功能来实现音色合成和音效控制。设计者可以选择不同的音色算法和音效效果,例如加入混响、合唱效果等,以增强音乐的表现力。 此外,Matlab还提供了实时音频输入和输出的功能,可以使得数字电子琴能够实时响应用户的演奏动作。用户可以使用电子琴键盘、鼠标或键盘来演奏音乐,Matlab会实时将演奏的音符转换为对应的音频信号,并输出给音频设备进行放音。 基于Matlab GUI的数字电子琴设计具有灵活性和可扩展性,设计者可以根据需求自定义琴键布局、音色设置和音效控制等参数。此外,Matlab还支持数据的保存和加载,用户可以将自己的音乐作品保存为文件,方便后续的编辑和分享。 总之,基于Matlab GUI的数字电子琴设计提供了一种方便、灵活和可定制的设计方法,使得用户能够享受到自己演奏的乐趣,并实现音乐的创造和表达。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值