基于MATLAB软件GUI界面的自制简单电子琴
基于MATLAB软件GUI界面的自制简单电子琴
概要: 本文基于MATLAB及其GUI界面设计了一个简单电子琴。利用MATLAB的GUI控件及相关算法,实现了一些简单的功能。这是作者大一暑期课程《MATLAB基础与应用》的两个小课设之一。
关键字: 电子琴;MATLAB
这是我大一暑期课程《MATLAB基础与应用》的两个小课设之一。
本课设用的是MATLAB及其自带的GUI界面,初步设想是做一个类似于电子琴的发音器。所用到的文件目录如下:
图 1 所需文件目录
共需要用到4个文件。其中,.m是MATLAB源代码文件,.fig是MATLAB的GUI文件,.jpg和.wav分别是一张图和一段语音,是项目所需的资源文件。
当点击“运行”之后,显示的界面是这个样子的:
图 2 运行显示界面
在程序最开始,会默认打开目录中的.wav文件,播放一段语音,内容就是“welcome to my piano”。后面还有一个label,它显示的内容也是这句话,label的标志是一个笑脸,就是目录中的.jpg文件。之后就进入了程序的正式界面。如下图:
图 3 程序正式界面
现在我们来看这个界面。
上方标题之下是2个坐标面板,左右分别显示当前琴音的时域、频域波形。右侧框内显示了琴音的频率数值,当前按下的是小字一组的g(so音),其频率为392Hz。下面的单选框是选择坐标值有无虚线网格。下方的按键是对应计算机键盘作出来的,因为当时的初步想法是按下某一个键盘就响起对应的琴音,但是后来没能实现,所以只好老老实实地用鼠标点击。我一共是作了5组音键:大字组、小字组、小字一组、小字二组、小字三组,频率由低变高。
按下右侧中间的“Exit”按钮时,会出现以下界面:
图 4 按下“Exit”按钮后的显示
确认退出就按“是”,否则就按“否”或“取消”。
最后做一个简单的小结:
这个小项目本身十分粗糙,然而作为一个为期仅有一周的暑期课的课设也不算太low。由于当时的知识储备还比较少,并且也没有乐理方面的基础知识,所以也就没有认识到谐波对音色音质的重要影响,故而琴音只是用计算机模拟的正弦音配上合适的频率而已。如果有读者对这个项目感兴趣,不妨在这点上多做一些优化。另一方面,这个GUI界面也是比较丑的,从审美角度看一个优美的界面应当尽可能隐藏一切细节而把空间最大可能地留给显示部分,具体操作包括把按钮等控件做成菜单或者工具栏等等,所以说这里也有提升的空间。
本文为原创文章,转载或引用务必注明来源及作者。
基于MATLAB软件GUI界面的自制简单电子琴相关推荐
- 基于MATLAB软件GUI界面的可编程电音合成器软件
基于MATLAB软件GUI界面的可编程电音合成器软件 1 总体设计 1.1 设计思路 1.2 软件运行 2 软件功能说明 2.1 软件界面 2.1.1 菜单栏 2.1.2 工具栏 2.1.3 MySy ...
- 基于MATLAB的GUI界面数字图像处理系统
目录 实验一 MATLAB数字图像处理初步 实验二 图像的代数运算 实验三 图像增强-空间滤波 实验四 图像分割 实验一 MATLAB数字图像处理初步 一.实验目的与要求 1.熟悉及掌握在MATLAB ...
- 基于Matlab的GUI界面封装exe文件
序言:本方法结合了网上各位大神的教程,由于是菜鸟,遇到了问题远多于教程中的描述,现将整个流程汇总如下,供大家参考.此为笔者首篇文章,语言逻辑不通之处,请多多包涵. 参考1 Matlab 生成exe执行 ...
- matlab的gui界面怎么用,MATLAB的GUI界面基础操作
今天我们来学习如何用MATLAB的GUI界面进行一些简单的操作,因为GUI界面可以很简单的制作界面,按钮系列,直接拖拽即可,而不需要用代码对界面进行编写,只需要对里面的具体功能进行编码,我们今天就运用 ...
- 基于matlab的音乐合成论文,基于matlab软件的音乐合成毕业论文.doc
基于matlab软件的音乐合成毕业论文.doc 河北经贸大学毕业论文基于MATLAB软件的音乐合成专业名称电子信息工程班级201102学生姓名王雪指导老师章瑞平完成时间2015年5月河北经贸大学毕业论 ...
- matlab p q的确定,基于MATLAB软件的P-Q分解法潮流计算 (1)
基于MATLAB软件的P-Q分解法潮流计算 摘要 电力系统潮流计算是研究电力系统稳态运行情况的一种重要的分析计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元 ...
- pq分解法matlab程序,基于MATLAB软件的PQ分解法潮流计算
基于MATLAB软件的PQ分解法潮流计算 基于MATLAB软件的P-Q分解法潮流计算 摘要 电力系统潮流计算是研究电力系统稳态运行情况的一种重要的分析计算,它根据给定的运行条件及系统接线情况确定整个电 ...
- 圆形上下挤压 matlab,基于Matlab的GUI设计双螺杆挤压机系统仿真软件
基于Matlab的GUI设计双螺杆 挤压机系统仿真软件 王玉德,张文孝,韩翠玲 (1.大连水产学院,辽宁大连116023;2.山东省机电学校,山东兖州272105) 1 1 2 DesignofSim ...
- matlab gui 播放音频,基于MATLAB的GUI(Graphical User Interface)音频实时显示设计
[博主原创] 摘要:本文章的设计主要讲基于matlab的gui音频实时显示设计,此次设计的gui相当于一个简洁的音乐播放器,界面只有"录音"和"播放"两个控件, ...
最新文章
- 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作
- 黑入苹果、特斯拉竟如此容易!这位鬼才的攻击方法火了!
- 致那个我爱着且没在一起的人[转上官婉儿]
- Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
- boost asio 性能与线程安全性
- 准备写个delphi 代码生成器或者说是一个记事本
- 百度Java电面一面面经
- BugkuCTF-MISC题blind_injection
- python面向对象类_python面向对象-类和对象
- SQL查询语句 group by后, 字符串合并
- ffmbc——广播电视以及专业用途量身定制的FFmpeg
- Socket编程面试题
- linux卸载usb声卡,Linux alsa 声卡驱动 安装 卸载 设置默认声卡
- 网络新闻媒体舆情信息收集统计的三点解决方法
- COOC2.0一键做邻接表(多元组)+共现矩阵+相异矩阵+频次统计
- elementui el-image组件 点击按钮 预览图片
- 带你简化理解Spring 基于注解配置的原理
- 你应该了解的 MySQL 细节
- 【华为云技术分享】如何将90%的代码自动迁移到鲲鹏平台上
- pickle.load()和pickle.dump()