基于MATLAB的数字电子琴的设计与实现
基于单片机的微型电子琴建模

基于单片机的微型电子琴建模随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
基于单片机的微型电子琴便是其中之一。
微型电子琴不仅可以模拟各种乐器的声音,还可以通过按键演奏出音乐。
本文将介绍基于单片机的微型电子琴的建模过程,并探讨其实现原理和工作原理。
一、微型电子琴的整体建模思路1.1 硬件架构设计微型电子琴的硬件架构主要包括按键模块、音频输出模块、单片机模块和电源模块。
按键模块用于模拟琴键,音频输出模块用于输出声音,单片机模块用于集成控制和信号处理,电源模块用于为整个系统提供电源。
这些模块共同组成了微型电子琴的硬件架构。
1.2 软件算法设计微型电子琴的软件算法设计是基于单片机的程序设计。
主要包括按键扫描算法、声音合成算法和音频输出算法。
按键扫描算法用于检测按键输入,声音合成算法用于合成不同乐器的声音,音频输出算法用于将合成的声音输出到音频设备上。
1.3 系统集成与调试在硬件架构和软件算法设计完成后,需要进行系统集成与调试。
即将硬件模块和软件程序集成到一起,并通过调试测试确保系统的正常运行和稳定性。
二、微型电子琴的实现原理2.1 按键扫描原理按键扫描原理是微型电子琴能够检测到按键输入的基础。
在单片机中设置一个定时器,在定时器中断时扫描按键的状态。
当有按键按下时,单片机会接收到对应的按键信号,并触发相应的处理程序。
2.2 声音合成原理声音合成原理是微型电子琴能够合成不同乐器的声音。
声音合成基于数字信号处理技术,通过对不同乐器的声音波形进行采样和分析,再通过数学模型生成对应的声音信号。
2.3 音频输出原理音频输出原理是微型电子琴最终能够将合成的声音输出到音频设备上。
通过单片机控制音频输出模块,将合成的声音转换为模拟信号并输出到音频设备上,实现音乐的播放。
3.1 按键输入处理当按键按下时,按键模块会发送对应的按键信号给单片机。
单片机接收到信号后,会触发对应的处理程序,如播放对应的音符、改变乐器的声音等。
MATLAB在电子琴制作与编程中的应用指南

MATLAB在电子琴制作与编程中的应用指南随着科技的不断发展,电子琴已经逐渐成为了一种受欢迎的音乐工具。
由于不限于传统的乐器结构,电子琴不仅可以模拟各种声音,还可以通过编程来实现更多的功能。
在电子琴的制作与编程过程中,MATLAB是一种常用且强大的工具。
本文将探讨MATLAB在电子琴制作与编程中的应用指南。
一、MATLAB简介与基本知识MATLAB是一种矩阵实验室,主要用于数学计算、数据处理、图像处理和建模等领域。
它提供了丰富的函数和工具箱,使得它成为了电子琴制作与编程的理想选择。
在使用MATLAB进行电子琴编程之前,我们需要对MATLAB有一定的了解与掌握。
首先,MATLAB具有强大的计算功能,可以进行各种复杂的数学运算。
这为电子琴的声音合成和信号处理提供了基础。
其次,MATLAB具有友好的图形界面和直观的编程语言,使得编写和调试电子琴的代码变得更加简单和高效。
最后,MATLAB还提供了广泛的工具箱,包括音频信号处理、数字滤波器设计等,这些工具箱可以方便地应用于电子琴的制作中。
二、电子琴声音合成与波形生成在电子琴制作中,声音合成和波形生成是其中的关键步骤。
使用MATLAB,我们可以通过编程来生成各种不同的声音效果。
首先,我们可以利用MATLAB中的信号处理工具箱来设计并生成特定频率的音调。
例如,使用MATLAB的sine函数可以生成正弦波,而使用square函数可以生成方波。
可以根据实际需求自定义音调,并根据自定义的频率生成相应的波形。
这使得我们能够根据不同的琴键来生成不同的音调,从而实现电子琴的声音合成。
此外,通过在波形中引入不同的参数变化,如振幅、频率、相位等,我们还可以模拟琴键按下和弹奏的过程中产生的音效,使得电子琴的音乐更加真实和生动。
这些参数可以根据实际需求进行调整,从而实现不同的音效变化。
三、电子琴控制与界面设计除了声音合成和波形生成,电子琴还需要实现用户与乐器之间的良好交互。
在电子琴的制作中,我们可以通过MATLAB来设计和实现电子琴的控制与界面。
ATmega16电子琴的设计与实现

简易电子琴的设计与实现2011年10月16日目录摘要 (3)引言 (3)1、方案的设计与论证 (3)1.1芯片选择 (3)1.2电源控制模块 (3)1.3功放模块 (3)1.4键盘输入模块 (4)2、系统框图和仿真图 (4)3、各模块的设计与论证 (5)3.1中央处理器MCU (5)3.2 4x4键盘 (5)3.3功放模块 (6)4、程序流程图 (7)5、总结 (8)6、源程序 (8)摘要:本设计设计了一种基于ATmega16 的电子琴, 该电子琴由用C语言控制核心部件和适当的外围电路构成, 可从琴键上进行演奏也可自动进行乐曲演奏,实验验证了该设计的正确性。
关键词:电子琴;乐曲演奏;自动演奏;ATmega16引言:进入21世纪后,由于电子技术及计算机技术的迅猛发展,新型电子产品的更新换代速度越来越快。
以单片机为核心构成的智能化产品具有体积小、功能强、应用面广等优点,目前正以前所未有的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有领地。
本作品是基于单片机控制系统的简易电子琴,可实现通过按键控制,发出1、2、3、4、5、6、7……等十六个音符。
该电子琴亦能够自动演奏乐曲,也可手动进行乐曲选择;实验验证了该设计的正确性。
1、方案的设计和论证1.1芯片选择方案一:核心芯片:atmega16单片机优点:对于atmega16的使用较熟悉,基本功能实现比较容易。
缺点:I/O口多,配置起来容易出错。
方案二:核心芯片:8051单片机优点:I/O口配置较为方便,芯片价格便宜。
缺点:使用汇编语言编程,较为繁琐,况且队员汇编语言知识薄弱。
通过比较,结合自身的知识,选择方案一。
1.2电源控制控制模块方案一:外置开关电源,其优点是电路设计比较简单。
方案二:运用晶体管的开关功能设计电源开关控制电路,通过向单片机输入外部中断来使得单片机自动控制电源的关断。
为使设计简便,采用方案一。
1.3功放模块方案一:采用LM386芯片对对输出的音乐信号进行放大,其优点是电路简单,稳定性强;方案二:采用TDA2822芯片放大音乐信号,但是TDA2822在单电源供电下,工作不是很稳定。
基于MATLAB数字电子琴的音乐喷泉控制系统设计

基于MATLAB数字电子琴的音乐喷泉控制系统设计作者:陈禄洪邵群英蔡伟强来源:《魅力中国》2018年第46期摘要:本设计是以MATLAB为出发点,STM32F103系列作为硬件支撑,并且搭载音乐喷泉效果的控制系统,通过软硬件结合,设计出友好的人机交互GUI界面,實现了基于MATLAB数字电子琴的音乐喷泉控制系统。
关键词:MATLAB;数字电子琴;音乐喷泉一、引言电子琴是艺术与现代电子技术融合的产物,是新时代乐器的骄子,它不但可以帮助我们的音乐老师进行传统音乐文化的教育教学工作,而且它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在音乐教学中更直接、更简便[1],对培养学生的音乐感受力,开发学生的想象力,加深学生对音乐的记忆力及提高学生的听辨力和鉴赏力都有积极作用。
而一部真正好的电子琴,是让学习者能更好融入到电子琴中。
基于此种情况,我们提出了基于MATLAB数字电子琴的音乐喷泉控制系统设计,本设计利用MATLAB的GUI界面来进行信号处理程序设计仿真出电子琴,并结合单片机实现音乐喷泉音响的视觉效果和听觉盛宴,更加激发学习者对学习电子琴的兴趣与耐心。
二、软件设计此部分设计大部分在MATLAB的GUI界面中完成,在界面设计之前弄清楚了不同音阶对应的不同频率的关系(如图1)。
在GUI界面设计中,用画图工具把电子琴的框架设计出来后,在每个琴键的回调函数中添加对应音阶的代码,编译运行后,能实现每个琴键可鼠标控制,且发出对应音阶的声音。
音阶代码如图2(以do为例)三、硬件设计此数字电子琴的音乐喷泉控制系统的硬件部分,主要是实现以硬件也能弹奏和喷泉的功能。
本设计的芯片采用STM32F103系列,外接12个直插轻触按键来模拟对应的琴键,控制12个音符喷头的启动,形成动感喷泉效果。
如图3(一)外接12个直插轻触按键来模拟对应的琴键,形成一个小型的直接按键弹奏的电子琴,来直接控制喷泉的触发。
基于MATLAB的数字电子琴设计

*****************实践教学*******************题目:基于MATLAB的数字电子琴设计专业班级:姓名:学号:指导教师:成绩:摘要本次课设的任务是基于MATLAB设计一个数字电子琴,首先实现数字信号发生器的设计。
数字信号发生器是一种基于软硬件实现的波形发生器,可以实现各种基本波形的产生。
在工程的各种复杂信号是由这些基本信号叠加产生,因此它在工程分析和实验教学中有着广泛的应用,可用MATLAB实现。
MATLAB是一个数据分析和处理功能十分强大的工程实用软件,它的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。
本文首先详细介绍了基于MATLAB的数字发生器的设计过程,实现了简单波形(正弦波、方波、三角波、锯齿波、白噪声、脉冲、阶跃)信号的具体实现方法。
其次介绍了利用该数字信号发生器产生的正弦波信号和声卡设计的简易电子琴。
关键词:MATLAB;数字信号发生器;简易电子琴目录前言 (1)一、数字信号发生器 (2)1.1图形用户界面的简介 (2)1.2设计流程 (2)1.3波形实现的基本原理 (3)二、电子琴的实现 (5)2.1简易数字电子琴的简介 (5)2.2实现原理 (5)三、基于MATLAB的仿真及结果分析 (6)3.1 GUI界面 (6)3.2编写M文件 (7)总结 (14)参考文献 (14)附录 (15)致谢 (22)前言MATLAB(矩阵实验室)是Matrix Laboratory的缩写,是一种用于算法开发、数据可视化、数据分析以及数值计算的高级计算机语言和交互式环境。
MATLAB 可以进行矩阵运算、绘制函数图像和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
Matlab环境下的图形用户界面(GUI)是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面,可在图形用户界面内根据需要搭建图形,并对控件的回调函数进行编写,完成最完整的GUI界面编辑即可运行。
钢琴键设计与实现基于matlab的开题报告

钢琴键设计与实现基于matlab的开题报告钢琴键设计与实现基于Matlab的开题报告一、研究背景钢琴是一种传统音乐乐器,其键盘设计和制造一直是科技和艺术的结合体。
钢琴键盘由黄铜锤和带有缝隙的木质键盘组成。
钢琴键可以控制琴弦之间的间隔和弦的音高,通过键盘发出声音。
对于钢琴键盘的设计,不仅需要考虑键盘的外形美学,还要确保声学效果的高品质。
因此,设计和制造钢琴键盘需要考虑多种条件,如材料、形状、重量、弹力等,这些因素将直接影响到钢琴的品质和声音。
二、研究目的本项目旨在设计并实现基于Matlab的钢琴键盘。
研究将深入挖掘钢琴键盘的设计和制造方法,借助Matlab软件结合先进的计算和仿真技术来设计和构建高品质的钢琴键盘。
本研究期望实现以下目标:1.分析钢琴键盘的设计和制造要素,确定各种参数的规范范围。
2.结合Matlab的计算机仿真技术,对钢琴键的材料、形状、重量、弹力进行建模和仿真。
3.设计并实现基于Matlab的钢琴键盘,验证仿真结果。
三、研究内容1. 钢琴键盘的设计和制造要素分析通过对钢琴键盘形状、材料、重量、弹力等关键参数进行详尽的分析和研究,确定了钢琴键盘设计和制造的规范范围和要素。
由此,为后续的模拟和仿真提供了依据。
2. 基于Matlab的钢琴键建模和仿真使用Matlab软件进行钢琴键建模,模拟钢琴键弹力、材料、形状等关键参数进行仿真,评估不同参数下的钢琴键的声音品质。
通过建模和仿真,预测键盘的性能表现、调整参数,从而满足音乐家和录音工程师的实际需求。
3. 基于Matlab的钢琴键盘实现在通过建模和仿真分析之后,基于Matlab设计实现钢琴键盘。
并对实现结果进行实验验证和分析。
四、研究意义本研究将结合Matlab的计算机仿真技术和音乐乐器软件系统设计和制造出高品质的钢琴键盘。
此外,本研究的第一阶段将分析键盘设计和制造方面的关键要素,为其他音乐乐器的键盘设计和制造奠定基础。
五、研究计划1.确定钢琴键盘的设计范围。
基于MATLAB的音乐电子琴制作

基于MATLAB的音乐电子琴制作简述:电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。
本次设计是基于MATLAB GUI 程序实现的一个音乐键盘仿真系统。
1 功能介绍总体设计框图如下图所示,其包括单音键盘发音模块,音效长短的选择模块,包络的选择模块,实现键盘代替鼠标输入模块,双音多频模块,演奏音乐模块,播放歌曲,视频模块包括对文件播放的暂停,停止和复位,多键盘输入对输入后统一播放模块和画图模块。
Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出, 通过调用这些函数和命令可以直接控制声卡输出虚拟信号。
只需要一台带有普通多媒体声卡并安装了Matlab 软件的计算机就可以满足要求实现虚拟信号的输出, 系统结构简单方便。
交互界面如图1所示:图1 程序的交互界面1)单音键盘发音模块设计一个带参子函数实现键盘的发音功能,当实现需要实现音阶的播放时,只要调用这个子函数,并根据不同音阶、不同音调的频率改变子函数的参数即可。
2) 音效长短的选择模块制作一个button group的组控件分别选择不同的控件实现不同的音效长短,音效的长短是通过改变播放一个音阶的时间长短来实现的。
3)包络的选择模块制作一个button group的组控件分别选择不同的控件实现不同的包络,在模块一的基础上,设置选中不同的控件分别对应不同的包络,x为不同包络(如正弦波、三角波、指数等)的表达形式,将x与模块一中实现单音键盘发音的函数相乘时便可实现不同形式的衰减,实现音型的改变。
4)实现键盘代替鼠标输入模块根据计算机键盘上的不同按键对应不同的ASCII码的值,利用函数get()获取当前所按下的数字键对应的ASCII码的值,根据 ASCII码的值判断对应是按下键盘的值。
并执行相应音阶的功能键。
5)双音多频模块通过设置一个radio button 来实现双音多频的功能,设置一个全局变量,当选中该控件时,全局变量的值改变,即在带参的子函数中增加它的频率分量。
基于FPGA的简易电子琴设计

课程设计任务书开题报告皖西学院本科毕业论文(设计)中期检查表简易电子琴的设计学生姓名:王春指导老师:郑大腾摘要本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。
多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。
该电子琴的设计大体可以由三个模块构成,分别是电子琴发声模块、存储器模块和选择控制模块。
用超高速硬件描述语言VHDL编程可以实现各个模块的功能。
不仅能实现弹琴和演奏的功能,它还能实现“复读”的功能,就是可以存储任意一段音乐,并且可以即时的播放出来。
系统实现是用硬件描述语言VHDL 按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。
本系统的功能比较齐全,有一定的现实使用的价值。
本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。
关键字电子琴;EDA;VHDL;音调发生;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;电子琴系统;AbstractThis system is designed using EDA technology a simple eight-note keyboard, the system clock divider based on the principle of the computer, using top-down design methodology to implement, it can be controlled through the key input audio. Multi-function keyboard is designed to be an ordinary keyboard in the original expansion on the basis of a design. The design of the keyboard in general consists of three modules, namely the keyboard soundmodules, memory modules and select the control module. Ultra high-speed hardware description language VHDL programming function of each module. Not only can realize the function of playing and playing, it can achieve "repeat" function, which can store any piece of music, and real-time play out. System implementation is to use hardware description language VHDL modular way by design, then programming, timing simulation, integration. The system features a relatively complete, there is a certain value. This paper introduces the overall design of the keyboard system, and based on high speed hardware description language VHDL in Xilinx's Spartan Ⅱ series 2sc200PQ208-5 chip programming.KeywordKeyboard; EDA; VHDL; tone occurred;field programmable logic device FPGA;ultra high-speed hardware description language VHDL; organ systems;目录1 引言..................................................................1.1设计的目的...........................................................1.2设计的基本内容.......................................................2 FPGA、EDA、VHDL简介....................................................2.1FPGA工作原理 ........................................................2.1.2 FPGA的基本特点....................................................2.2EDA技术...............................................................2.3硬件描述语言——VHDL ...................................................2.3.1 VHDL的简介.......................................................2.3.2 VHDL语言的特点...................................................2.3.3VHDL语言上机操作条件.............................................2.3.4 VHDL的设计流程...................................................3 音乐知识介绍............................................................4 简易电子琴设计..........................................................4.1系统设计的总思路.....................................................4.2程序设计的流程图.....................................................4.3简易电子琴的工作流程图...............................................4.4简易电子琴中各模块的设计.............................................4.4.1 乐曲自动演奏模块...................................................4.4.2 音调发生模块.......................................................4.4.3 数控分频模块.......................................................4.4.4 顶层设计...........................................................5 系统仿真.................................................................6 结束语..................................................................致谢..................................................................... 参考文献................................................................. 附录.....................................................................1 引言我们生活在一个信息高速发达的时代,各种各样电子产品层出不穷。
基于matlab的数字电子琴信号处理系统的设计与实现

《工程信号处理》大作业—基于Matlab的信号处理系统的设计与实现—伍星、柳小勤、刘畅机电工程学院KUST-HMI联合实验室2010.03目录1预备知识 (3)2项目意义 (3)3项目简介 (3)4项目要求 (3)4.1“数字电子琴”的软件功能 (3)4.2“数字频谱分析仪”的软件功能 (4)4.3“数字均衡器”的软件功能 (5)5编码规范 (6)5.1每个程序文件(.M文件)开头的H ELP部分 (6)5.2程序结构和注释 (6)5.3代码中的变量定义规则 (6)6项目提交 (7)1预备知识机械工程测试技术、工程信号处理、虚拟仪器、MATLAB等。
2项目意义1)将掌握Matlab软件开发过程的基本理论、基本知识和基本技能,为开展学位论文课题研究打下坚实的基础。
2)熟悉基于Matlab平台的若干信号处理系统开发及调试方法。
3)培养科研的团队协作精神。
3项目简介在Matlab开发平台上开发若干信号处理系统——“数字电子琴、数字频谱分析仪、数字均衡器”。
4项目要求设计“数字电子琴、数字频谱分析仪、数字均衡器”三个信号处理系统,具体要求如下:1)自由组合分组,每组4人;由班长将分组名单发至教师email。
2)相关文献资料阅读和综述分析、项目设计方案制订、主要技术难点和技术实现方法。
3)使用M函数设计具有GUI(图形化用户界面)的三个信号处理系统。
4)每组提交一份源程序;撰写不少于10页的《项目研究报告》项目报告,提交纸质版和电子版各1份。
5)每组准备课堂汇报PPT,讲解整个项目的设计、开发、分工等情况。
4.1“数字电子琴”的软件功能1)数字信号发生器的功能:能够产生正弦波、方波、三角波等常见的波形的数字信号,并且提供了图形界面用于选择波形、频率、幅值与相位。
能够根据用户指定的波形和参数产生相应的数字信号,然后将数字信号写入声卡的缓冲区,最后由声卡播放出相应的声音。
2)数字电子琴的功能:电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能,界面中包含A、B、…、O共15个琴键,鼠标按下时即发声,松开时发声停止。
课程设计报告---基于单片机的电子琴设计

课程设计报告---基于单片机的电子琴设计河南理工大学《单片机应用与仿真训练》设计报告基于单片机的电子琴设计姓名:郭鹏超王芳学号:310808010609 310808010602专业班级:电气08-6班指导老师:王莉所在学院:电气工程与自动化学院2012年5月19 日摘要当代,爱好音乐的人越来越多,有不少人自己练习弹奏乐器作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需要太多的学习时间,且其价格又太过于高昂,使得一部分有这种想法的人不得不放弃这种想法。
而一些简易的电子乐器价格相对便宜,学习上手快,一般人容易负担的起,能够满足一般爱好者的需求,故简易电子琴的研制具有一定的社会意义。
本次课程设计主要研究基于AT89S52单片机的简易电子琴设计。
整个系统主要包括以下几个部分组成:(1)单片机的最小系统:最小应用系统设计是单片机应用系统的设计基础。
它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。
(2)矩阵键盘:当按键数目较多时,为了节省I/O口线,通常采用矩阵式键盘接口电路。
本设计采用5*8矩阵键盘(共40个按键,其中36个按键用来显示高中低音的1、1#、2、2#、3、4、4#、5、5#、6、6#、7的36个音调,其它4个按键可以随意的播放已存歌曲)。
(3)产生外部中断的系统:它由两个四输入与非门74LS20和一个两输入或非门74LS02组成,把矩阵的五行与与非门74LS20和或非门74LS02相接后接在了单片机的P3.2口,下降沿触发产生中断INT0。
(4)发音电路:此电子琴发音电路是由或非门来驱动扬声器发音的,控制单片机的P2.7口产生不同频率使扬声器发出不同的音调。
本文主要对单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴的硬件组成。
并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。
利用单片机产生不同频率来获得我们要求的音阶,最终可以随意弹奏想要表达的音乐,还设计了一按键用来自动播放一首曲子。
基于MATLAB的音乐电子琴制作

基于MATLAB的音乐电子琴制作简述:电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。
本次设计是基于MATLAB GUI 程序实现的一个音乐键盘仿真系统。
1 功能介绍总体设计框图如下图所示,其包括单音键盘发音模块,音效长短的选择模块,包络的选择模块,实现键盘代替鼠标输入模块,双音多频模块,演奏音乐模块,播放歌曲,视频模块包括对文件播放的暂停,停止和复位,多键盘输入对输入后统一播放模块和画图模块。
Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出, 通过调用这些函数和命令可以直接控制声卡输出虚拟信号。
只需要一台带有普通多媒体声卡并安装了Matlab 软件的计算机就可以满足要求实现虚拟信号的输出, 系统结构简单方便。
交互界面如图1所示:图1 程序的交互界面1)单音键盘发音模块设计一个带参子函数实现键盘的发音功能,当实现需要实现音阶的播放时,只要调用这个子函数,并根据不同音阶、不同音调的频率改变子函数的参数即可。
2) 音效长短的选择模块制作一个button group的组控件分别选择不同的控件实现不同的音效长短,音效的长短是通过改变播放一个音阶的时间长短来实现的。
3)包络的选择模块制作一个button group的组控件分别选择不同的控件实现不同的包络,在模块一的基础上,设置选中不同的控件分别对应不同的包络,x为不同包络(如正弦波、三角波、指数等)的表达形式,将x与模块一中实现单音键盘发音的函数相乘时便可实现不同形式的衰减,实现音型的改变。
4)实现键盘代替鼠标输入模块根据计算机键盘上的不同按键对应不同的ASCII码的值,利用函数get()获取当前所按下的数字键对应的ASCII码的值,根据 ASCII码的值判断对应是按下键盘的值。
并执行相应音阶的功能键。
5)双音多频模块通过设置一个radio button 来实现双音多频的功能,设置一个全局变量,当选中该控件时,全局变量的值改变,即在带参的子函数中增加它的频率分量。
matlab电子琴说明书

m a t l a b电子琴说明书-CAL-FENGHAI.-(YICAI)-Company One1基于MATLAB的数字电子琴设计日期:2011-3-25姓名:王之海、郑俊超、张楠、杜坤组号:第一组1.目标与范围随着计算机软硬件技术的发展,越来越多现实物品的功能能够由计算机实现。
也就是我们经常所说的将硬件设备软件化,这样做的好处很多,比如说将成本降低,易于实现,修改容易并且可以进行仿真。
现在比较成熟的这类软件有很多,比如说LABVIEW。
基于这样的考虑我们进行了数字电子琴的模拟仿真实验。
这样一个实验的进行会为以后的学习工作中奠定一定的基础。
2.信号处理原理数字信号发生器的功能就是将数字信号通过D/A转换变成所需要的模拟信号。
由于声卡本身具有D/A转换的功能,从而可以利用声卡在计算机了模拟信号发生器。
声卡的D/A转换机理是定时将声卡缓冲区中的内容转换成模拟信号并输出,所以软件所做的即是向声卡缓冲区中写数据。
以正弦信号为例,其模拟信号计算工时如下为实现数字信号的发生,在程序中先根据公式计算出需要存放到缓冲区的数据,以数组的形式存放,然后将数据存放入声卡的缓冲区。
对于方波,y=sign(sin(2*pi*f*t+p))对于其它波形,可以用类似方法实现。
软件的流程图如图所示数字电子琴的流程图3.系统的功能分析软件的功能由数字信号发生器和数字电子琴两部分组成。
(1)数字信号发生器的功能能够产生正弦波、方波、三角波等常见的波形的数字信号,并且提供了图形界面用于选择波形、频率、幅值与相位。
能够根据用户指定的波形和参数产生相应的数字信号,然后将数字信号写入声卡的缓冲区,最后由声卡播放出相应的声音。
(2)数字电子琴的功能1)数字电子琴的功能是基于数字信号发生器的,通过条用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能,界面中包含do/rai/mi…共16个琴键,鼠标按下时即时发声秒;并可通过键盘敲击按键进行琴音播放。
基于Matlab的数字电子琴的设计与实现

工程数字信号处理算法与实践之基于Matlab的数字电子琴的设计与实现学生:吕柳燕班级:机硕0701学号:200770438指导教师:何岭松日期:2007-9-28基于Matlab的数字电子琴的设计与实现电子琴发展概况电子琴是随着电子技术的广泛应用而产生。
1959年,世界上第一台全晶体管双排键电子琴在日本诞生。
从此,电子琴技术不断发展成熟,电子琴的普及也越来越广。
电子琴在中国的推广始于20世纪八十年代,至今在音色、音质、演奏的便利性等方面都达到了相当成熟的地步,而且随着集成电路技术的发展,其升级换代可以在保持原有结构不变的情况下,通过简单的芯片更换实现。
但是,电子琴也有明显的不足之处:与非电子乐器,如钢琴、管弦乐器等的协奏问题,限制了电子琴在重要音乐场所的使用,这极大的影响了电子琴的应用和推广。
协调电子琴与非电子乐器的协奏,是当前音乐界人士和电子琴开发商的当务之急。
电子琴发音原理物体振动时会发出声音,振动的频率不同,声音的音调就不同。
在电子琴里,虽然没有振动的弦、簧、管等物体,却有许多特殊的电装置,每个电装置一工作,就会使喇叭发出一定频率的声音。
当按动某个琴键时,就会使与它对应的电装置工作,从而使喇叭发出某种音调的声音。
电子琴的音量控制器,实质上是一个可调电阻器。
当转动音量控制器旋扭时,可调电阻器的电阻就随着变化。
电阻大小的变化,又会引起喇叭声音强弱的变化。
所以转动音量控制旋扭时,电子琴发声的响度就随之变化。
当乐器发声时,除了发出某一频率的声音──基音以外,还会发出响度较小、频率加倍的辅助音──谐音。
我们听到的乐器的声音是它发出的基音和谐音混合而成的。
不同的乐器发出同一基音时,不仅谐音的数目不同,而且各谐音的响度也不同。
因而使不同的乐器具有不同的音品。
在电子琴里,除了有与基音对应的电装置外,还有与许多谐音对应的电装置,适当地选择不同的谐音电装置,就可以模仿出不同乐器的声音来。
基于 Matlab的数字电子琴实现原理振动频率不同,音调就不同。
matlab数字信号发生器和电子琴设计

matlab数字信号发⽣器和电⼦琴设计数字信号发⽣器和数字电⼦琴摘要Matlab是⼀个具有数值分析、矩阵计算、科学数据可视化以及⾮线性动态系统的建模和仿真等功能的⼯程实⽤软件。
其易于使⽤的视窗环境,在很⼤程度上摆脱了传统⾮交互式程序设计语⾔(如C、Fortran)的编辑模式。
本⽂介绍了⼀种使⽤GUI ⼯具箱,⽤Matlab实现虚拟数字信号发⽣器的设计。
关键词Matlab;信号发⽣器;数字电⼦琴1概述MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件。
可以进⾏矩阵运算、绘制函数和数据、实现算法、创建⽤户界⾯、连接其他编程语⾔的程序等,主要应⽤于⼯程计算、控制设计、信号处理与通讯、图像处理、信号检测、⾦融建模设计与分析等领域。
图形⽤户界⾯(Graphical User Interface,简称GUI,⼜称图形⽤户接⼝)是指采⽤图形⽅式显⽰的计算机操作⽤户界⾯。
与早期计算机使⽤的命令⾏界⾯相⽐,图形界⾯对于⽤户来说在视觉上更易于接受。
Matlab⾃带了强⼤的GUl⼯具[1]。
在本⽂中,将利⽤Matlab的GUI⼯具,设计出数字信号发⽣器和数字电⼦琴。
信号发⽣器⼜称信号源或振荡器,是⼀种能提供各种频率、波形和输出电平电信号,常⽤作测试的信号源或激励源的设备,在⽣产实践和科技领域中有着⼴泛的应⽤。
按信号波形可分为正弦信号、函数(波形)信号、脉冲信号和随机信号发⽣器等四⼤类[2]。
各种波形曲线均可以⽤三⾓函数⽅程式来表⽰。
能够产⽣多种波形,如三⾓波、锯齿波、矩形波(含⽅波)、正弦波的电路被称为函数信号发⽣器。
本⽂设计了⼀种可以产⽣正弦波、余弦波、⽅波、三⾓波、锯齿波、⽩噪声的虚拟数字信号发⽣器。
2技术路线虚拟数字信号发⽣器设计的流程图如图2.1:图2.1 数字信号发⽣器流程图在此基础上,将产⽣的数字信号写⼊声卡,即可播放出相应⾳阶的声⾳,实现电⼦琴的功能。
计算机仿真电子琴课程设计

计算机仿真电子琴一、课程设计的目的与要求1、设计目的本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。
本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
2、设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:1)掌握汇编语言程序设计的基本方法。
2)进一步理解各种接口电路的应用。
例如8255并行接口,8253定时器等。
3)掌握利用PC机扬声器发出不同频率声音的方法。
3、主要技术指标编写程序1)在程序运行时使PC即成为一架可弹奏的电子琴。
当按下数字键1-8时,依次发出1,2,3,4,5,6,7,I这八个音调。
按下回车则退出电子琴状态。
2)在程序运行时使PC自动按要求提示演奏乐曲。
二、课程设计课题的分析图1.扬声器工作原理图示图2.主程序工作流程图图3.乐曲演奏子程序工作流程图 图4.电子琴子程序工作流程图图5.扬声器工作流程图三、课程设计的结果1、实验代码DATA SEGMENTINFO1 DB 0AH, 0DH, 'WELCOME YOU TO COME HERE!$'DB 0AH, 0DH, 'THIS IS A MUSIC PROGRAM!$'DB 0AH, 0DH, 'PLEASE SELECLT!$'INFO2 DB 0AH, 0DH, 'INPUT ERROR!$'INFO3 DB 0AH, 0DH, 'PLEASE INPUT AGAIN!$'MUSLIST DB 0AH, 0DH, '========================='DB 0AH, 0DH, 'Press1 HuanLeSong'DB 0AH, 0DH, 'Press2 SCALE PLAY 'DB 0AH, 0DH, 'Press3 or ctrl+C EXIT'DB 0AH, 0DH, '========================='DB 0AH, 0DH, '$'MUS_FRQ1 DW 330, 330, 350, 393, 393, 350, 330, 294DW 262, 262, 294, 330, 330, 294, 294DW 330, 330, 350, 393, 393, 350, 330, 294DW 262, 262, 294, 330, 294, 262, 262DW 294, 294, 330, 262, 294, 330, 350, 330, 262DW 294, 330, 350, 330, 262, 262, 294, 393DW 330, 330, 350, 393, 393, 350, 330, 294DW 262, 262, 294, 330, 294, 262, 262, -1MUS_TIM1 DW 8 DUP(100)DW 7 DUP(100),200DW 8 DUP(100)DW 7 DUP(100),200DW 5 DUP(100),50,50,2 DUP(100)DW 100,50,50,4 DUP(100),200DW 8 DUP(100)DW 7 DUP(100),200TABLE DW 262, 294, 330, 349, 392, 440, 494, 525 NUMB DB 0AH, 0DH, 'Keyboard number 1~8 keys play notes of the scale' DB 0AH, 0DH, 'Enter to exit'DB 0AH, 0DH, '$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'STA DB 200 DUP('STACK')STACK ENDSCODE SEGMENTASSUME DS: DATA, SS: STACK, CS: CODE, ES: DATASTART: MOV AX, DATAMOV DS, AXMOV ES, AXMOV AX, STACKMOV SS, AXSHOW MACRO BMOV DX, OFFSET BMOV AH, 09HINT 21HENDMSHOW INFO1LOP: SHOW MUSLISTMOV AH, 01HINT 21HCMP AL, 33HJZ RETUCMP AL, 31HJNZ B0CALL MUSIC1JMP EXIT1B0: CMP AL, 32HJNZ EXITSHOW NUMBCALL MUSIC2EXIT1: SHOW INFO3 JMP LOPEXIT: SHOW INFO2 SHOW INFO3 JMP LOPRETU: MOV AX, 4C00HINT 21HMUSIC1 PROCLEA SI, MUS_FRQ1LEA BP,DS: MUS_TIM1FREQ1: MOV DI, [SI]CMP DI,-1JE END_MUS1MOV BX, DS: [BP]CALL GENSOUNDADD SI,2ADD BP,2JMP FREQ1END_MUS1:RETMUSIC1 ENDPMUSIC2 PROC NEARPUSH AXPUSH BXPUSH CXLOP1: MOV AH, 01HINT 21H CMP AL, 0DH JE EXIT2CMP AL, 31H JB LOP1CMP AL, 38HJA LOP1AND AX, 0FH SHL AX, 1 SUB AX, 2 MOV SI, AXMOV BX, OFFSET TABLEMOV DI, [BX][SI] MOV BX, 100CALL GENSOUNDJMP LOP1EXIT2: POP CXPOP BXPOP AXRETMUSIC2 ENDPGENSOUND PROCPUSH AXPUSH BXPUSH CXPUSH DXPUSH DIMOV AL, 0B6H OUT 43H, ALMOV DX, 12HMOV AX, 533H*896DIV DIOUT 42H, ALMOV AL, AHOUT 42H, ALIN AL, 61HMOV AH, ALOR AL, 3OUT 61H, ALPUSH AXWAIT1: MOV CX, 1200 DELA1: IN AL, 61H AND AL, 10HCMP AL, AHJE DELA1MOV AH,ALLOOP DELA1DEC BXJNZ WAIT1POP AXMOV AL, AHOUT 61H, AL POP DIPOP DXPOP CXPOP BXPOP AXRETGENSOUND ENDPCODE ENDSEND START2、实验现象1. 进入DOS后在DOS界面(图6)进行汇编链接并生成可执行文件.exe2.双击可执行文件KS.exe(这里我把程序取名为KS)进入操作界面如图7所示图7.操作界面初始界面图8.按数字键2后进入电子琴界面图9.按回车后退出电子琴界面3.在进行操作的时候只要在键盘上按1这数字键就可以听取歌曲1,按数字键2时进入电子琴界面,这时候1-8分别表示音乐CDEFGABC这几个音符。
基于MATLAB的数字信号发生器及简易电子琴设计

基于MATLAB的数字信号发生器及简易电子琴设计摘要数字信号发生器是一种基于软硬件结合实现的函数波形产生仪器。
在工程实践中需要检测和分析的各种复杂信号均可分解成各种简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生,因此它在工程分析和实验教学中有着广泛的应用。
MATLAB是一个数据分析和处理功能十分强大的工程实用软件,它的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。
本文介绍了一种使用MATLAB建立一个简单数字信号发生器的基本流程,并详细叙述了简单波形(正弦波、方波、三角波、锯齿波、白噪声、脉冲、阶跃、斜坡)信号的具体实现方法。
最后,利用简单的正弦波信号和PC的声卡设计了一个简易电子琴。
关键字:MATLAB,数字信号发生器,简易电子琴1概述随着计算机技术和测试技术的不断发展,传统的测试仪器正向虚拟化方向发展,特别是在试验教学领域。
虚拟仪器作为现代仪器技术和计算机技术深层次结合的产物,更是得到了广泛应用。
信号发生器原本是模拟电子技术发展的产物,但本文设计出的数字信号发生器是基于计算机软硬件实现的数字信号发生器,是一种虚拟仪器。
2 设计原理常用的数字信号发生器一般可产生正弦信号、方波信号、三角波信号、锯齿波信号、白噪声信号、脉冲信号、阶跃信号、斜坡信号等。
此时的数字信号又可称为离散信号,即时间为离散变量的信号。
它只在离散时间上给出函数值,是时间上不连续的“序列”。
离散时间的间隔是均匀的,以t ∆表示。
t ∆的值由信号的采样频率fs 决定。
为保证采样后信号能真实地保留原始模拟信号信息,信号采样频率必须至少为原信号中最高频率成分的2倍。
这是采样的基本法则,称为采样定理。
本文为了使产生的数字信号更接近原始的模拟信号,采用的采样频率为原始信号频率的30倍。
MATLAB 程序提供了常用的各种基本信号的生成函数。
本设计需模拟的八种信号大部分都直接使用了MATLAB 提供的函数,只有少数几个信号没有调用函数,直接编写的。
毕业论文基于单片机STC52的电子琴设计

毕业论文基于单片机STC52的电子琴设计电子琴是一种能够模拟真实乐器声音的电子音乐乐器,它使用数字信号处理技术来模拟不同音调和音色的声音。
在这篇毕业论文中,我们将基于STC52单片机设计一个电子琴。
首先,我们需要了解电子琴的基本原理和工作方式。
电子琴主要由白键和黑键组成,每个键对应一个音调。
当用户按下一些键时,电子琴会发出相应音调的声音。
为了模拟各种音调和音色,电子琴还需要使用合成器来生成声音波形。
在本设计中,我们将使用STC52单片机作为主控芯片。
这款单片机具有强大的计算和处理能力,并且易于编程和控制。
我们将使用C语言编程来实现电子琴的功能。
首先,我们需要设计一个按键矩阵来接收用户的按键输入。
按键矩阵将通过电子琴的键盘连接到STC52单片机的I/O口。
当用户按下一些键时,相应的I/O口将被触发,并且可以通过编程来检测并响应按键动作。
接下来,我们将设计一个音频输出电路来输出电子琴的声音。
音频输出电路将连接到STC52单片机的PWM输出口。
通过调节PWM输出的频率和占空比,我们可以生成不同频率和音量的声音波形。
然后,我们需要设计一个合成器来生成不同音调和音色的声音波形。
合成器可以通过不同的算法和参数来模拟不同乐器的声音。
我们可以使用数字信号处理技术,如傅里叶变换和滤波器设计,来实现合成器的功能。
最后,我们需要编写软件程序来控制和管理电子琴的功能。
我们可以使用STC52单片机的开发环境和编程工具来编写程序。
程序需要实现按键检测、声音生成和处理等功能。
通过编程,我们可以实现不同音调、音色和演奏效果的电子琴。
在设计实现过程中,我们还需要考虑到电子琴的硬件和电路布局、电源供应、按键和音频接口等方面的问题。
同时,我们还需要进行测试和调试,以保证电子琴的正常工作和良好的声音质量。
通过以上的设计和实现,我们可以制作一个基于STC52单片机的电子琴。
这款电子琴具有丰富的音调和音色选择,可以模拟不同乐器的声音,同时具有简单易用的操作和良好的音质。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的数字电子琴的设计与实现
————————————————————————————————作者:————————————————————————————————日期:
电子信息工程学院
《DSP技术及应用》课程设计报告
题目:基于MATLAB的数字电子琴的设计与实现专业班级:通信工程专业
二〇一三年六月十三日
目录
一、设计目的 (1)
二、设计要求 (1)
三、设计原理及方案 (2)
四、软件流程 (2)
五、调试分析 (5)
六、设计总结 (6)
七、参考文献 (6)
一、设计目的
1、熟悉matlab的软件环境,掌握信号处理的方法,能在matlab的环境下完成对信号的基本处理;
2、学会使用matlab的GUI控件编辑图形用户界面;
3、了解matlab中一些常用函数的使用及常用运算符,并能使用函数完成基本的信号处理;
二、设计要求
数字电子琴的功能是基于数字信号发生器的,通过条用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。
具体功能如下:
1、界面中包含do/rai/mi…共7个琴键,鼠标按下时即时发声0.5秒;并可通过键盘敲击按键进行琴音播放;
2、可播放wav格式文件;
3、进行图形绘制,可选择输出方波、正弦波等;
4、将该正弦信号函数使用plot函数将正弦函数图形界面展示出来;
5、根据所取的取样的时间长度不同时每个音阶发出的声音长度不同;
6、通过每个按键关联键盘,实现键盘弹琴功能;
7、通过一个edit窗口,关联按键,是GUI界面可显示所按下按键的音阶;
8、通过添加播放与暂停按钮,可对edit窗口中的音阶进行播放的暂停操作;
9、GUI右上角有帮助菜单,弹出messagebox提示用户;
10、不同音调的选择,可选择C调,升C调等不同音调;
11、通过加入不同程度的衰减和谐波分量实现不同音色的选择;
12、加载本地电脑中以存储好的音符文档进行演奏的功能;
13、当弹奏出错时,将刚弹奏出错的音符删除的功能;
14、可以实现黑键半音功能。
三、设计原理及方案
1、原理图
图1
2、原理图说明
上图为数字信号产生器的原理图,由于不同声音的频率不同,因此,用MATLAB 产生不同的频率的信号,然后加载到声卡,即可产生不同的声音
(1) 初始化:点击其中一个.M 文件。
进入欢迎界面,欢迎界面,点击欢迎界面中
进入程序按钮,进入主程序。
(2) 检测并接收用户输入:通过点击GUI 界面中预设值好的音阶按钮,对应让
初始化检测并接收用户输入: 波形、幅值、频率、初始相位 产生数显示波保存用户
开始 加载驱动声卡发出声音
MATLAB中产生不同频率的正弦单频信号。
(3)存用户输入的音阶:用户输入音阶后,在GUI 窗口中会有对应的音符显示,点击保存,即可将这些字符保存为一个,txt文件。
(4)加载音阶:选择打开加载音符,点击暂停播放,即可将之前保存好的音符进行播放。
(5)产生数字信号:对应不同的按键产生不同的正弦数字信号。
(6)波形线束:通过不同的信号,画出不同的信号的时域与频域图。
(7)驱动声卡:发出声音。
四、软件流程
Matlab是一个具有数值分析、科学数据可视化以及非线性动态系统的建模和仿真等功能的工程实用软件。
本文介绍了一种使用GUI工具箱,用Matlab实现虚拟数字信号发生器的设计。
并在此基础上,利用声卡,实现了简易的数字电子琴。
具体软件流程如下:
(1)搭建GUI界面
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
Matlab环境下的图形用户界面(GUI)是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化。
做好的GUI界面分别如图2、图3所示:
图2
图3
(2)编写.M文件
搭建好GUI界面后,点击“保存”按钮,系统将自动生成M文件与Fig文件各一个,并且M文件内部已经按照GUI界面中组件的类别,分别自动生成了相应的模块调用函数。
根据需需要,我们对生成的各个函数进行补充,完成函数功能的实现及各个函数的调用关系。
本次实验主要对控件的回调函数(callback)下写入相应的程序,该程序相当于一个将前后面板连接起来的纽带,在数字信号生成中作用很大。
主要源程序文件如下:
信号产生部分:
global n
global m;
global yc;
b=[-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1 6,17,18,19,20,21,22,23,24,25,26]
c=b(t);
f=440*2^((c+m)/12);%C调 D调改变m
fs=10*f
x=0:(1/fs):yc
switch yc
case 0.25
d=-4
case 0.5
d=-2
case 1
d=-2
switch n
case 3
y=exp(d*x).*sin(2*pi*f*x)+0.2*exp(d*x).*sin(2*pi*f*3*x)+0.3*exp(d*x). *sin(2*pi*f*3*x)+0.4*exp(d*x).*sin(2*pi*f*4*x)+0.5*exp(d*x).*sin(2*pi *f*5*x)
case 1
y=sin(2*pi*f*x)
case 2
y=exp(d*x).*sin(2*pi*f*x)
end
绘图部分:
subplot(2,1,1)
plot(x,y);
axis([0,yc,-2,2])
xlabel('时间/s')
ylabel('幅度')
grid on;
subplot(2,1,2)
Y=abs(fft(y))
plot(Y)
xlabel('频率/Hz')
ylabel('幅度')
grid on
%axis([0,yc,-2,2]);
wavplay(y,fs,'async');
五、调试分析
在软件设计过程中遇到了许多困难,以下选择几点主要的进行分析说明:
1、校徽的显示问题:由于本作品想添加校徽,创建了一个axes坐标,但是始终在该坐标上无法显示我们预设好的校徽图片。
解决方案:在图片显示子函数imshow后加上要显示的坐标,即可将图片显示在于设置的坐标上。
2、音阶的保存:将输入的音符进行保存为txt文本文件时,保存时是按字符串格式保存的,再次加载时,却是按照字符进行加载,到时要回删一个音阶时,将之前所有以保存的音阶会全部删除。
解决方案:读数据时,使用大括号,使数据为一个cell型数组。
3、GUI背景设置问题:为了美化界面,我们想到使用背景图片,但是由于MATLAB中没有该加载背景图片的功能,因此始终无法加载图片
解决方案:经过上网搜寻方案,想到在GUI界面中建一个坐标覆盖整个界面,然后图片加载到该坐标中,使bring back功能将该图片作为背景。
4、在EDIT窗口中显示字符问题:开始设想在一个EDIT窗口中实时显示按下的音阶,但是始终无法实现该功能
解决方法:使用MATLAB中的set与get函数,最终的以实现。
六、设计总结
通过本次实验,掌握了GUI界面的搭建,对matlab中常见的函数有了深刻的认识。
在学习中发现matlab是个很强大的软件,可惜自己对它的认识太少,以后还得自己学习。
同时,这次制作数字电子琴,通过晚上查找资料,也对一些音律方面的知识有很多的认识,在实验过程中,存在着很多问题,在韩萍老师及何炜琨老师的悉心指导下,最终一个一个解决了,通过这次试验,自己获益匪浅。
七、参考文献
[1] 郑君里. 信号与系统(第二版),高等教育出版社,2005
[2] 王世一. 数字信号处理(修订版),北京理工大学出版社,2005
[3] 李益华. MATLAB辅助现代工程数字信号处理(第2版). 西安:西安电子科技大学出版社,2010
[4] 杨洁芳. 基于MATLAB与声卡的低频信号发生器的设计与实现. 电脑学习,2006。