1.创建项目


2.布局控件



布局如下

3.添加各个Button的回调函数

function pushbutton1_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 247 *t);%生成频率为247hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);


运行结果,按下1会先播放1秒的声音,然后显示出波形

同理,Button2-9的回调函数中只需要分别改变频率为
262,294,330,349,392,440,494,523

各个Button回调函数如下

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 247 *t);%生成频率为247hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 262 *t);%生成频率为262hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 294 *t);%生成频率为294hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 330 *t);%生成频率为330hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 349 *t);%生成频率为349hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 392 *t);%生成频率为392hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 440 *t);%生成频率为440hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 494 *t);%生成频率为494hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)Fs = 44100;%采样率为44100hzT = 1;%时间为1秒dt = 1.0 / Fs;%step为 1.0/44100N = T / dt;%数组元素的个数为 T/dtt = linspace(0, T, N);%生成一个数组[0, 1.0/44100, 2.0/44100,...,44099.0/44100, 1.0]y1 = 0.3*sin(2*pi* 523 *t);%生成频率为523hz,幅度为0.3,时间为1秒的正弦波plot(t, y1);axis([0, 0.01, -0.5, 0.5]);wavplay(y1, Fs);

matlab 实现简易电子琴相关推荐

  1. MATLAB 编写简易电子琴(二)

    前几天用MATLAB做了一个简易电子琴,链接: MATLAB 编写简易电子琴 这个电子琴输入用的input函数,每按一个字符要敲回车,现在用另一种方法解决了这个问题: 使用 set(gcf,'KeyP ...

  2. matlab电子琴,MATLAB 编写简易电子琴

    Bilbili视频:MATLAB 编写简易电子琴 声音模型 声音本质是机械振动产生的波通过介质传播至人耳,这一振动可由函数x ( t ) x(t)x(t)表示,离散化后即为向量x n x_nxn​以及 ...

  3. 用matlab编程简单电子琴,基于MATLAB的数字信号发生器及简易电子琴设计论文.doc...

    基于MATLAB的数字信号发生器及简易电子琴设计论文 基于MATLAB的数字信号发生器及简易电子琴设计 摘 要 数字信号发生器是一种基于软硬件结合实现的函数波形产生仪器.在工程实践中需要检测和分析的各 ...

  4. 基于matlab的数字信号发生器及简易电子琴设计,简易电子琴电路的设计仿真与实现课程设计...

    简易电子琴电路的设计仿真与实现课程设计 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 题 目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM ...

  5. VHDL简易电子琴的设计

    主要内容:本课程设计主要是利用硬件描述语言VHDL的设计思想,采用自顶向下的方法,划分模块来设计简易电子琴中的几个模块.通过课程设计深入理解和掌握计算机的基本知识,并且掌握课堂上所学到的理论知识,达到 ...

  6. 单片机多功能电子琴课设_基于单片机的简易电子琴课程设计.doc

    基于单片机的简易电子琴课程设计.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 15 14可在实际的应用时这些是不能被忽略的,我们不 ...

  7. 计算机电子电路原理图,简易电子琴设计电路图大全(八款模拟电路设计原理图详解) - 消费类电子电路图...

    简易电子琴设计电路图(一) 电子琴稳定的+5V电源的电路如图所示. 电子琴电源电路 电路工作原理:集成块ICCA6722是该电源电路的核心元件.它能输出精确而稳定的+5V直流电压.从IC第1脚输人+9 ...

  8. 基于VHDL的FPGA简易电子琴(实现三音阶切换与弹奏)

    目录 一.设计内容简介 二.系统框图 1.简易框图 2.总电路图(quarters软件自动生成) 三.代码说明 1.总体代码 2.代码思路 四.仿真实现结果与分析总结 1.仿真思路 2.仿真建立过程 ...

  9. matlab坐标用星星表示什么,用Matlab实现简易图片中的星星计数及位置标记--陈宗华...

    用Matlab实现简易图片中的星星计数及位置标记 By C.Z.H --814484233@http://www.doczj.com/doc/0ad22625195f312b3069a5c7.html ...

最新文章

  1. EK算法网络流模板hdu1532
  2. IBM X3650 M2 BR10i卡的阵列配置方法
  3. C语言 · 比较字符串
  4. echart triggeron设置两个方法_6个超实用方法:打造PPT立体空间感
  5. 深度学习之卷积神经网络(6)梯度传播
  6. 糟糕!复工后,最让人担心的问题又又又来了!
  7. scanf(“%s“)真的只开读入字符串大小就可以了吗??
  8. mysql case快捷方法_MySQL case when使用方法实例解析
  9. 关于c语言的英文论文,C语言论文外文翻译.doc
  10. 高可用HAProxy——yum安装部署配置使用
  11. python的help怎么用_python的help函数如何使用
  12. j2ee 上传下载 小记
  13. 罗技Setpoint控制酷狗等第三方播放器
  14. 2016PHP开发者大会
  15. 数据增强_炼丹笔记三:数据增强
  16. 利用Drawable绘制圆角图片和圆形图片
  17. WinForm大型企业ERP系统
  18. youtube打开显示服务器更新,youtube-dl更新出错解决办法
  19. java微信分享朋友圈_Java实现微信公众平台朋友圈分享功能详细代码
  20. 新手小白开始学习verilog(学习方法有点歪门邪道的,大佬勿喷( ̄▽ ̄)“)

热门文章

  1. Mac如何利用qq提取图片上的文字
  2. 手把手教你实现商品数据包的生成和下载功能开发
  3. 天下苦知网久矣,89岁教授起诉知网获赔70多万!
  4. 无法翻译此网页的解决办法 - GoogleTranslateIpCheck
  5. MCGS昆仑通态触摸屏与两台三菱变频器modbus rtu通讯程序。 触摸屏型号是TPC7062Ti
  6. CPU 主频,核数 参数解读 物理CPU,逻辑CPU,物理核 概念辨析
  7. 我输入,你生成代码,手写代码生成
  8. 2015款凯美瑞将支持车内无线充电 支持无线充电联盟QI标准
  9. Python_七十二变_二进制和字符编码
  10. 基于Java的学生课程管理系统的设计和实现