基于MATLAB的音乐电子琴制作
基于单片机的微型电子琴建模

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

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

Matlab中的电子音乐制作与音频合成技术引言电子音乐制作是一种结合技术和艺术的创造过程,而Matlab作为一种强大的数学计算软件,不仅可以应用于科学研究和工程设计,也能够用于音频处理和音乐创作。
本文将介绍Matlab中的一些电子音乐制作和音频合成技术,探讨如何利用Matlab来实现音频效果的设计和实现。
1. Matlab中的音频处理工具Matlab提供了许多音频处理工具箱,如Audio System Toolbox和DSP System Toolbox。
这些工具箱包含了各种音频处理算法和函数,可以用于音频的录制、分析、编辑和合成等方面。
通过这些工具箱,用户可以实现各种音频效果,如均衡器、压缩器、延时器等,并可以对音频进行滤波、混响、合成等处理。
2. 音频合成技术音频合成是电子音乐制作的重要环节之一,它可以通过合成器、采样和合成算法等方式来生成各种音频信号。
Matlab中的音频合成技术主要通过生成相应的音频波形来实现。
2.1 合成器Matlab提供了很多合成器函数,如sine、square、sawtooth等,用于生成不同类型的音频波形。
用户可以通过调整参数,如频率、振幅、相位等来控制波形的特性。
这些合成器函数可以通过简单的数学公式来实现生成音频波形的过程,使用户能够灵活地创作各种音乐效果。
2.2 采样合成除了使用合成器函数生成音频波形外,Matlab还提供了采样合成技术,用户可以通过将各种音频样本进行采样和合成来实现音频合成。
这种方法可以将现实世界中的各种音频素材转化为数字信号,并通过合成算法进行处理和合成。
3. 音频效果的设计与实现Matlab中的音频处理工具箱提供了丰富的音频效果函数和滤波器设计工具,使用户能够设计和实现各种音频效果。
3.1 均衡器均衡器是一种常用的音频效果器,它可以调整不同频段的音量,改变音频频谱的平衡来达到音频加工的效果。
Matlab中可以使用filter函数和滤波器设计工具来设计和实现不同类型的均衡器。
基于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作为一种强大的科学计算软件,也在电子音乐领域发挥着重要的作用。
本文将介绍MATLAB在电子音乐合成与创作中的应用指南,并探讨其在声音合成、音频处理以及音乐创作方面的应用。
声音合成声音合成是电子音乐合成与创作中的重要环节,它可以通过模拟或合成声音波形,产生各种音效和声音效果。
MATLAB提供了一系列函数和工具箱,可以帮助实现声音合成的过程。
首先,MATLAB提供了信号处理工具箱,其中包含了许多用于声音合成的函数。
例如,可以使用MATLAB中的sin函数生成正弦波信号,通过改变频率、幅度和相位等参数,可以合成出不同音高、音色和音调的声音。
此外,还可以利用MATLAB的加法和乘法运算,将多个不同频率的正弦波信号叠加在一起,生成更复杂的声音波形。
其次,MATLAB还提供了滤波器设计工具箱,可以用于设计各种数字滤波器,用来改变声音波形的频率响应。
通过选择不同类型的滤波器和调整其参数,可以实现音色的改变和音频效果的增强。
滤波器设计工具箱还提供了可视化界面,方便用户直观地观察滤波器的频率响应,并进行实时调整。
此外,MATLAB还支持数字信号处理算法的开发和测试,通过编写自定义的算法,可以实现更精确和灵活的声音合成。
用户可以利用MATLAB的编程功能,结合音频信号的特征和自己的创意,开发出各种创新的声音合成算法。
音频处理音频处理是电子音乐合成与创作中不可或缺的一部分,它可以对现有的音频进行修改、编辑和优化,以获得更好的音质和音效。
MATLAB提供了丰富的音频处理工具和函数,可以方便地进行音频处理。
首先,MATLAB提供了音频文件的读取和写入函数,可以读取常见的音频文件格式(如WAV、MP3等),并将处理后的音频保存为新的文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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 来实现双音多频的功能,设置一个全局变量,当选中该控件时,全局变量的值改变,即在带参的子函数中增加它的频率分量。
就可以实现双音多频功能。
6)演奏音乐模块通过设置一个push button键来实现,按下该键时,可以选择事先自己编好的txt的文档,通过这个文档就可以播放音乐。
7)播放歌曲,视频模块根据matlab提供的函数,视频时首先对文件的名字和路径进行提起,直接对文件的播放。
音乐的则是首先对文件的名字和路径进行提起,得到名字和路径后就对该文件进行采样,使其离散化。
最后实现对文件的播放。
8)多键盘输入对输入后统一播放模块该功能实现先对键盘输入内容进行存储,当输入完成后就可以按播放键对刚才的存储内容进行播放,本功能通过radio button键实现的键盘输入的存储,当该建被选中时,则会不断的扫描键盘是否有键盘按下,并对按下键进行存储,直到该键没有被选中为止,同时设置一个push button键对存储的信息进行播放,播放完成后自动清除存储的内容,以便下一次存储。
9)画图模块该模块的功能是根据播放每一个音符的数组画出每一个音符的波形,使我们对播放的音型可以一目了然,便于观察与分析。
程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。
备注:软件版本:MATLAB R2011b2.1单音键盘发音模块根据要求,首先利用push button键作为单音键盘的发音键。
1~7七个音阶对应高中低三种不同的音调共21个键,还有15个辅音,共36个按键。
如图2所示,白色的按键代表音调键,前7个是低音的七个音阶,中间7个是中音的七个音阶,后面7个是高音的七个音阶,黑色的代表辅音。
查阅相关资料可知,发音频率对应的表达式为f=440*2^((s-49)/12),当所发音为低音时s的取值为31~37,发中音时s的取值为40~46,发高音时s的取值为49~55。
为了程序设计简化目的,设计一个名为gangqin(s)的子函数。
有以上带参的子函数后则每个键盘下面的程序非常简单,然后在每个push button键的callback函数中调用该子函数即可,如gangqin(45);图2 单音键盘发音模块具体代码参见:function gangqin(s)2.1.1音效长短的选择模块制作一个button group的组控件分别选择不同的控件实现不同的音效长短,该组控件包括三个radio button分别对应不同的音效长短(长,中,短)。
音效长短的改变实质上是改变其音阶播放时间的长短,定义一个全局变量T通过改变T的值来改变音效的长度,gangqin的子函数如上面所示。
界面如图3所示:图3 音效长短的选择模块具体代码参见:Function yinxiao_Callback (hObject, eventdata, handles)2.2包络的选择模块制作一个button group的组控件分别选择不同的控件实现不同的包络,该组控件包括三个radio button分别对应不同的包络。
如图4所示,定义了方波、三角波和正弦波三种不同形式的包络可供选择。
图4 包络的选择模块将组合键中的button group键的Tag的值设置为“baol”,三个radio button键分别对应指数波、三角波、正弦波,相应的Tag设“zhishu”、” sanjiao”、” zhengxian”,def=get(de,'tag')获取三个Radio Button键中Tag的值,设置一个全局变量p,用switch函数实现,当case为 ' zhishu '时,p的值1; case 为' sanjiao '时,p的值2; case 为' zhengxian ' 时p的值为3。
把p的值反应到gangqin(s)的子函数中,在子函数中根据不同的p的值选用不同的包络,即可实现不同的包络,所发出的音型便不一样。
由于电子琴的实验结果是声音,难以用文字表达,在下面仅用几张图片展示一下结果。
图5 正弦波包络图6 方波包络图7 三角波具体代码参见:Function baoluo_Callback (hObject, eventdata, handles)2.3实现键盘代替鼠标输入模块用一个radio button键便可实现该功能,可以根据不同的键盘按键发出不同的音乐。
同时将该键的string改为“键盘”,表示这个键是实现键盘的功能。
如图8所示:图8 键盘代替鼠标输入根据计算机键盘上不同键对应的ASCII码的值不同,利用函数get()获取当前所按下的键对应的ASCII码的值,并执行相应播放音阶。
具体代码参见:function jianpan_KeyPressFcn(hObject, eventdata, handles)2.4双音多频模块通过设置一个radio button 来实现双音多频的功能,当选中该按钮时,则增加它的频率分量。
使其含有丰富频率分量。
如图9所示:图9 双音多频模块具体代码参见:function duopin_Callback(hObject, eventdata, handles)2.5演奏音乐模块通过设置一个push button键来实现,如图10所示:图10 播放谱曲按下该键时,界面会要求你选择文档,可以选择事先自己编好的txt的文档,选中该文档,并按打开键就可以播放音乐。
txt文件的内容如图11所示:图11 乐谱内容Txt文件代表的意思是如‘44 1’,是表示频率为44,延长的长度为1。
播放音乐不仅需要确定每个音符,还要确定每个音符延长的时间,音符延长的时间是有n的取值大小所确定的。
因此这里就可以调用子函数的形式方便的实现。
具体代码参见:function qinpu(a,b)function dakai_Callback(hObject, eventdata, handles)2.6播放歌曲,视频模块本功能的实现是通过push button键来实现的。
界面如图12所示:图12 播放歌曲视频模块通过按下播放歌曲键或者播放视频键就可以选择播放的文件,界面如图13所示:按打开按钮就可以播放音乐或视频。
图13 播放视频视频时首先对文件的名字和路径进行提起,直接对文件的播放,用的是matlab自带的函数implay()。
音乐的则是首先对文件的名字和路径进行提起,得到名字和路径后就对该文件进行采样,使其离散化。
最后实现对文件的播放。
这里不仅可以对音乐的播放,还可以对音乐的暂停,复位和停止。
分别用到matlab自带的函数:播放play(),暂停pause (),复位resume()和停止stop()。
具体代码参见:function shipin_Callback(hObject, eventdata, handles)function changge_Callback(hObject, eventdata, handles)2.7多键盘输入后统一播放模块本功能通过radio button键实现的键盘输入的存储,当该建被选中时,则会不断的扫描键盘是否有键盘按下,并对按下键进行存储,直到该键没有被选中为止,同时设置一个push button键对存储的信息进行播放,播放完成后自动清除存储的内容,以便下一次存储。
界面如图14所示:图14 多键盘输入后播放该功能实现先对键盘输入内容进行存储,当输入完成后就可以按播放键对刚才的存储内容进行播放,播放完成后对存储的内容进行清空。
实现对键盘的输入内容进行存储,并把存储的值整合到数组y内,push button键是对上述存储的信息进行读取,识别并播放。
具体代码参见:function jianc_KeyPressFcn(hObject, eventdata, handles)function bf_Callback(hObject, eventdata, handles)2.8画图模块通过axse控件实现绘图,绘出播放每个音阶的波形,并把画出的波形显示到axse 上,界面如图15所示:图15 音阶的波形该模块的功能是根据播放每一个音符的数组画出每一个音符的波形,并把其显示在界面上。
具体代码参见:function axes1_CreateFcn(hObject, eventdata, handles)3 程序总结本程序实现简单的音频处理功能及便捷的图形化交互界面。
具有以下特点与缺陷:1、图形化用户交互界面简洁明了。
右侧放置音频视频播放的各选项控件,且从上到下的排布体现操作步骤;上侧显示音频文件的数据波形。
提示信息丰富,方便操作。
2、程序可扩展性好,方便功能扩展。
未尽功能:(1)没有调节音量大小的按钮,可以优化。