用软件仿真音乐播放器
- 格式:ppt
- 大小:651.50 KB
- 文档页数:10
单片机音乐播放器设计报告学生:XXX 指导教师:XXX内容摘要:单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
根据要求设计一款音乐播放器,能实现音乐播放的简单功能,同时为了美化,添加了韵律闪烁彩灯,设计时采用Keil软件编程,用protues软件仿真,核心器件采用灵活性高且价格低廉的AT89C51芯片。
设计完成后系统可播放自编歌曲,同时发光二极管随着歌曲韵律闪烁。
关键词:单片机 AT89C51 音乐播放英文标题Abstract: SCM has small, strong function, low cost, application, advantages and intelligent control and automatic control of the core is the microcontroller. According to the requirements of a music player, design of music broadcast can realize simple function, and to beautify, added rhythm flashing lights, design is used when Keil C software programming, with protues software simulation, the core device adopts high flexibility and the price is cheap AT89C51 chip. The design is completed system can play Wrote songs, and leds with songs rhythm flicker.Keywords:SCM Temperature AT89C51 Music broadcast前言:微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
衡水学院
毕业论文(设计)
学生姓名: 陈进进
系别: 物理与电子信息系
专业: 电子信息工程
年级: 2012级
指导教师: 郭海丽
归档日期: 2016年6月10日
衡水学院教务处印制
1
毕业论文(设计)任务书
(指导教师填写)
毕业论文(设计)开题报告
3
5
说明:开题报告应在教师指导下由学生独立撰写,开题报告一般不少于1000字,并交指导教师审阅。
毕业论文(设计)开题报告论证记录
毕业论文(设计)文献综述
说明:查阅文献资料篇数,按《衡水学院毕业论文(设计)撰写规范》执行。
文献综述一般不少于1000字。
可增加页数,遵循整页布满
第I 页共18 页。
目录引言 (1)1 VHDL及QUARTUSII软件简介 (2)1.1EDA简介 (2)1.2硬件描述语言VHDL (2)1.3软件介绍 (4)1.4界面介绍 (4)1.4.1软件打开界面 (4)1.4.2代码输入界面 (4)1.4.3波形仿真界面 (5)2 简易音乐演奏器设计及仿真 (5)2.1硬件电路设计 (5)2.2软件代码设计 (6)2.2.1音符储存单元 (6)2.2.2选择播放模式及手动模块单元 (7)2.2.3分频模块单元 (8)2.2.4预置数模块单元 (9)2.2.5音频发声模块单元 (10)2.3系统功能仿真 (12)2.3.1音符储存单元波形仿真 (12)2.3.2频率控制单元波形仿真 (12)2.3.3分频模块单元波形仿真 (13)2.3.4预置数模块波形仿真 (13)2.3.5音频发声模块单元波形仿真 (14)3引脚锁定及下载 (15)3.1引脚锁定 (15)3.2结果分析 (15)4设计总结 (16)参考文献 (167)附录 (18)引言VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。
利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。
突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。
本文基于FPGA开发系统,在QuartusII 7.2软件平台上,完成了简易乐曲演奏器设计和与仿真,并下载到试验箱进行硬件实现。
首先,本文介绍了QuartusII 7.2软件的基本使用方法和VHDL硬件描述语言的特点,采用VHDL 硬件描述语言描述简易信号发生器,完成对电路的功能仿真。
在设计过程中,重点探讨了简易乐曲演奏设计思路和功能模块划分。
Flash AS2XXX网络MP3音乐播放器在这个播放器中,我内置了几首歌曲的连接,点击节目单会看到它们.同时提供了一个音乐XXX的文本框,你可以输入任何歌曲的XXX进行播放.在播放时,会有一个播放进度条,同其它的媒体播放器一样,你可以点击进度条来移动歌曲的播放点,达到快进和快退的目的.而播放控制按钮功能也同其它媒体播放器一样.播放器中设置了音量调节滑块和声道调节滑块.而闪动的光栅的高度则随音量的高低的变化而变化.现在来XXX这个播放器的.1.首先来做一些准备工作.播放器的外观并非本教程的内容,但一些部件是必须的.先作5个按钮:播放,暂停,停止,快进,快退,如下图:它们的实例名称分别是:ply_btn,zd_btn,stop_btn,kj_btn,kt_btn2.下面来XXX进度条,新建一影片剪辑,画一细长矩形,新插入一层,再画一个相同长度不同颜色的矩形,并将它转换为影片剪辑元件,实例名称为:jdt_mc.回到主场景,将进度条影片剪辑放到舞台上,取实例名称为:jdk_mc.如图:3.声道控制面板,新建一影片剪辑,按下图画出声道控制面板:画一个小的矩形放到面板的中间刻度上,将小矩形转换为影片剪辑,或者就叫滑块吧.为它取实例名称:sdhk_mc.回到主场景,将声道控制影片剪辑拖到舞台上,为它取实例名称:sd_mc4.音量控制面板,新建影片剪辑,按下图画出音量控制面板:将滑块元件(在上一步中创建的)拖到舞台上,放到音量最大处(右边),为它取实例名称:ylhk_mc回到主场景,将音量控制影片剪辑拖到舞台上,为它取实例名称为:yl_mc5.节目单按钮,做下面一样的影片剪辑,放在舞台上,取实例名称为:jmdbtn_mc6.节目单,新建影片剪辑,画一矩形,在矩形上放一个文本框,输入歌曲名称,演唱者:同样的方法创建其它的歌曲名称影片剪辑.新建一影片剪辑,将这些歌曲名称影片剪辑,从库中拖入排好:分别给这些歌名影片剪辑取实例名称:song1_mc,song2_mc……..song5_mc.新建一图层,画一矩形盖住所有歌名,然后将这一层拖到最下面.这个矩形的颜色应与歌曲名称影片中的矩形颜色相同.回到主场景,将节目单影片剪辑拖到舞台上,放到节目单按钮下面,取实例名称为:song_mc7.光栅,新建影片剪辑,画如下图形:放在舞台上,然后复制4个,共5个,分别取实例名称为:gb1,gb2,gb3,gb4,gb58.XXX栏,在舞台上建一个动态文本框,取实例名称为:RUL_txt9.再放两个动态文本,用来用数字显示进度.两个文本框的实例名称分别为:dqcd_txt,zcd_txt10.好了,所有的东西都准备齐了,至于你想怎样将它们摆放得漂亮一些,那是你的事情了,本文不涉及到这些内容.我们要写代码了.[next]我们首先要获得歌曲的XXX,将XXX放到XXX文本框中,当然,最简单的办法是,直接在XXX框中输入XXX.但我们内置了几首歌,这就要为这些歌名元件添加点击事件,当点击时,将歌曲XXX放到XXX框中.在刚打开播放器时,我们让节目单不可见,点击节目单按钮后,才让节目单显示出来:song_mc._yscale = 0;这样节目单的高度为0,就不可见了.jmdbtn_mc.onRelease = function(){if(song_mc._yscale > 0){song_mc._yscale = 0;}else {song_mc._yscale=100;}}点击节目单按钮,如果节目单是打开的则关闭节目单,如果是关闭的则打开节目单.节目单打开后,就可以点击歌曲名称将XXX放到XXX框中了:song_mc.song1_mc.onRelease = function(){RUL_txt.text ="bbb:///%E5%9B%BD%E5%AE%B6160.mp3";song_mc._yscale=0;}song_mc.song2_mc.onRelease = function(){RUL_txt.text ="bbb://lfg.ourivyaaa/sjweb/enjoyment/music/tiany.mp3";song_mc._yscale=0;}song_mc.song3_mc.onRelease = function(){RUL_txt.text="bbb://xuegong.zhbitaaa/jx/edit/uploadfile/2008223213733227.mp3";song_mc._yscale=0;}song_mc.song4_mc.onRelease = function(){RUL_txt.text ="bbb://bbb/music/%E7%94%BB%E5%BF%83.mp3";song_mc._yscale=0;}song_mc.song5_mc.onRelease = function(){RUL_txt.text ="bbb://1968.wzegaaa/UploadFiles/2008-6/436743781.mp3";song_mc._yscale=0;}song_mc.song6_mc.onRelease = function(){RUL_txt.text ="bbb://211.155.30.36:8089/music/Audio/6.mp3";song_mc._yscale=0;}XXX栏中有了歌曲的XXX,那么就可以点击播放按钮播放歌曲了.首先要创建一个Sound类,用来加载mp3:var wmp3:Sound = new Sound();在播放前,应该将进度条设在0处:jdk_mc.jdt_mc._xscale = 0;将光栅的高度设为零,因为设光栅高度为零的动作要多次执行,所以将它做成一个函数,然后调用它:function gbhl(){for(i=1;i<6;i++){gb_mc = eval("gb"+i); gb_mc._yscale = 0;}}gbhl();我们还需要一些变量后面有用:var zcd;//歌曲的总长度var dqcd;//当前已播放的长度,用于暂停按钮和进度条var ztd =0;//暂停点,用于暂停按钮var jd;//进度条的位置var rul:String;//歌曲的XXXvar sdz;//声道的值var ylz;//音量的值这些变量现在不用管它,在后面用到它们时会给予说明的.接下来就该写播放按钮上的代码了,有了播放按钮,就可以兴赏音乐了.在播放时,首先应该判断当前是从头开始播放还是处于暂停状态,如果是暂停,那么我们上面声明的变量ztd就不会是0,根据这个变量是否为零就可以确定是从头开始播放还是从ztd开始播放,如果ztd为零,首先从XXX栏获得歌曲XXX,然后判定XXX是否为空,如果不为空则将进度条归零,然后加载歌曲,并播放歌曲.调用mp3pl()函数,这个函数是在歌曲播放过程中设置一些效果比如进度条,光栅等.如果ztd不为零,则歌曲从暂停点处播放,并调用mp3pl()函数.ply_btn.onRelease = function(){if(ztd ==0){rul = RUL_txt.text;if(rul){jdk_mc.jdt_mc._xscale = 0;wmp3.loadSound(rul,true);wmp3.start();mp3pl(wmp3);}}else {wmp3.start(ztd);mp3pl(wmp3);}}现在来看看mp3pl()函数,在这个函数中会用到Sound类的两个属性和一个方法,先介绍一下.duration属性:该属性返回声音的总长度,以毫秒计算.position属性:上一节已经介绍过,它返回声音已播放的长度,以毫秒计算.getVolume()方法:返回声音单量的大小,数字为0-100.在这个函数中,在onEnterFrame事件中,首先获取歌曲的总长度和当前已播放的长度,将这两个数字显示在文本框中,计算出播放进度,设置进度条的 _xscale比例,显示播放进度,然后根据音量设置光栅的高度,首先将_yscale设为音量的一半,然后将另一半设为random()产生随机数,这样就产生闪动的效果.function mp3pl(mp3){onEnterFrame = function(){zcd = mp3.duration/1000;dqcd = mp3.position/1000;zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd = dqcd/zcd*100;jdk_mc.jdt_mc._xscale = jd;if(dqcd!=zcd){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2);}}}}现在应该基本成形了,剩下的就是几个按加上功能了.当点击进度条时根据鼠标在进度条上的位置,确定歌曲重新从那一点上开始播放,达到快进或快退的功能.jdk_mc.onRelease= function(){var djd = _xmouse - jdk_mc._x;var kjd = djd/jdk_mc._width*zcd;wmp3.stop();wmp3.start(kjd);}暂停按钮:记录当前已播放的长度,并存到ztd中,停止播放歌曲,这样当点击播放按钮时,因ztd不等于0,而使歌曲从ztd开始播放.zd_btn.onRelease =function(){ztd = dqcd;wmp3.stop();delete onEnterFrame;gbhl();}停止按钮:将ztd设为0,停止播放歌曲.stop_btn.onRelease=function(){wmp3.stop();ztd = 0;delete onEnterFrame;gbhl();}快进快退按钮,在当前已播放长度的基础上加上或减去5秒,重新播放歌曲kj_btn.onRelease=function(){wmp3.stop();kjd = dqcd + 5;wmp3.start(kjd);}kt_btn.onRelease=function(){wmp3.stop();ktd = dqcd - 5;wmp3.start(ktd);}下面的声道控制,在Sound类,的setPan()方法可以设置声音的声道,值为0-100,0声音将完全由左声道播出,而100则完全由右声道播出. 当移动声道控制上滑块,放开时根据滑块的位置设置声道的值.sd_mc.sdhk_mc.onPress = function(){startDrag(this,true,0,0,sd_mc._width-this._width/2,0);}sd_mc.sdhk_mc.onRelease = function(){stopDrag();sdz = (this._x)/sd_mc._width*100;wmp3.setPan(sdz);}音量控制,在Sound类中可以使用setVolume()方法设置声音的音量,值为0-100,当移动音量控制上滑块,放开时根据滑块的位置设置音量的值.yl_mc.ylhk_mc.onPress = function(){startDrag(this,true,0,0,yl_mc._width-this._width/2,0);}yl_mc.ylhk_mc.onRelease = function(){stopDrag();ylz = (this._x)/yl_mc._width*100;wmp3.setVolume(ylz);}OK,现在真正的完全完成了,静下心来欣赏音乐吧.完整的代码:song_mc._yscale = 0;var wmp3:Sound = new Sound();var zcd;var dqcd;var ztd =0;var jd;var rul:String;var sdz;var ylz;jdk_mc.jdt_mc._xscale = 0;gbhl();ply_btn.onRelease = function(){if(ztd ==0){rul = RUL_txt.text;if(rul){jdk_mc.jdt_mc._xscale = 0;wmp3.loadSound(rul,true);wmp3.start();mp3pl(wmp3);}mp3pl(wmp3);}}jdk_mc.onRelease= function(){var djd = _xmouse - jdk_mc._x;var kjd = djd/jdk_mc._width*zcd;wmp3.stop();wmp3.start(kjd);}function mp3pl(mp3){onEnterFrame = function(){zcd = mp3.duration/1000;dqcd = mp3.position/1000;zcd_txt.text = Math.floor(zcd);dqcd_txt.text = Math.floor(dqcd);jd = dqcd/zcd*100;jdk_mc.jdt_mc._xscale = jd;if(dqcd!=zcd){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2);}}}}jmdbtn_mc.onRelease = function(){if(song_mc._yscale > 0){song_mc._yscale = 0;}else {song_mc._yscale=100;}}song_mc.song1_mc.onRelease = function(){RUL_txt.text ="bbb:///%E5%9B%BD%E5%AE%B6160.mp3";song_mc._yscale=0;RUL_txt.text ="bbb://lfg.ourivyaaa/sjweb/enjoyment/music/tiany.mp3";song_mc._yscale=0;}song_mc.song3_mc.onRelease = function(){RUL_txt.text ="bbb://xuegong.zhbitaaa/jx/edit/uploadfile/2008223213733227.mp3";song_mc._yscale=0;}song_mc.song4_mc.onRelease = function(){RUL_txt.text ="bbb://bbb/music/%E7%94%BB%E5%BF%83.mp3";song_mc._yscale=0;}song_mc.song5_mc.onRelease = function(){RUL_txt.text ="bbb://1968.wzegaaa/UploadFiles/2008-6/436743781.mp3";song_mc._yscale=0;}song_mc.song6_mc.onRelease = function(){RUL_txt.text ="bbb://211.155.30.36:8089/music/Audio/6.mp3";song_mc._yscale=0;}function gbhl(){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale = 0;}}stop_btn.onRelease=function(){wmp3.stop();ztd = 0;delete onEnterFrame;gbhl();}zd_btn.onRelease =function(){ztd = dqcd;wmp3.stop();delete onEnterFrame;gbhl();wmp3.stop();kjd = dqcd + 5;wmp3.start(kjd);}kt_btn.onRelease=function(){wmp3.stop();ktd = dqcd - 5;wmp3.start(ktd);}sd_mc.sdhk_mc.onPress = function(){startDrag(this,true,0,0,sd_mc._width-this._width/2,0);}sd_mc.sdhk_mc.onRelease = function(){stopDrag();sdz = (this._x)/sd_mc._width*100;wmp3.setPan(sdz);}yl_mc.ylhk_mc.onPress = function(){startDrag(this,true,0,0,yl_mc._width-this._width/2,0);}yl_mc.ylhk_mc.onRelease = function(){stopDrag();ylz = (this._x)/yl_mc._width*100;wmp3.setVolume(ylz);}(注:可编辑下载,若有不当之处,请指正,谢谢!)。
音乐欣赏知识:音乐模拟器——探索音乐模拟器软件的开发和运用音乐模拟器——探索音乐模拟器软件的开发和运用随着科技的不断进步,音乐模拟器也成为了现代音乐科技领域中不可或缺的一部分,它可以模拟各种乐器和音乐形式,让不同音乐风格的界面和声音变得更加生动和真实。
本文将为大家介绍音乐模拟器的定义、发展历程、当前状态以及未来趋势。
一、音乐模拟器的定义音乐模拟器是一种软件,它可以让用户在计算机上模拟各种乐器或音乐风格。
通过模拟声音的发生、延迟和回声等,它可以生成非常逼真的声音效果,并在虚拟的乐器上演奏。
目前,它已经成为了音乐制作、游戏开发和娱乐等领域的一个重要组成部分。
二、音乐模拟器的历程众所周知,最早的音乐模拟器可以追溯到上世纪60年代的电影《Space Odyssey》。
这部电影中将星际旅行者与2010年世界杯足球比赛场景相结合,让人们更加熟悉未来科技的可能性。
此后,音乐模拟器的应用开展得越来越广泛,并逐渐融入到人们的生活中去。
在20世纪90年代,计算机技术的发展为音乐模拟器的发展奠定了基础。
此后,通过不断调节乐器的振动、音色和音高等参数,人们可以在计算机上模拟各种乐器和乐曲。
三、音乐模拟器的发展现状如今,音乐模拟器已经在不同的领域得到了广泛的应用。
对于音乐制作人来说,它们已经成为了一个非常实用的工具。
通过使用音乐模拟器软件,音乐制作人可以模拟不同的乐器,并可以模拟出各种不同风格的音乐。
此外,音乐模拟器还可以帮助音乐制作人改进录音技术,使其录制出更加生动、真实的音乐。
对于游戏制作人来说,音乐模拟器也已经成为了游戏中不可或缺的一部分。
通过使用音乐模拟器,游戏开发者可以帮助玩家获得更加真实的游戏体验,使游戏的场景和音效更加精细和逼真。
在消费市场方面,使用音乐模拟器的消费者也已经越来越流行。
例如,有人在使用移动设备或电脑时会使用一些虚拟乐器软件,可以弹奏出不同的乐器声音。
此外,电子乐器爱好者也可以使用音乐模拟器来模拟一些传统乐器的声音和曲调。
EDA技术实用教程课程设计简易音乐播放器电子12-11206040124简易音乐播放器设计1.MIDI概述MIDI(Musical Instrument Digital Interface)乐器数字接口,是20 世纪80 年代初为解决电声乐器之间的通信问题而提出的。
MIDI是编曲界最广泛的音乐标准格式,可称为“计算机能理解的乐谱”。
它用音符的数字控制信号来记录音乐。
一首完整的MIDI音乐只有几十KB大,而能包含数十条音乐轨道。
MIDI 应用也比较广泛,电视晚会的音乐编导可以用MIDI功能辅助音乐创作,或按MIDI 标准生成音乐数据传播媒介,或直接进行乐曲演奏。
如果在计算机上装备了高级的MIDI软件库,可将音乐的创作、乐谱的打印、节目编排、音乐的调整、音响的幅度、节奏的速度、各声部之间的协调、混响由MIDI来控制完成。
利用MIDI 技术将电子合成器、电子节奏机(电子鼓机)和其他电子音源与序列器连接在一起即可演奏模拟出气势雄伟、音色变化万千的音响效果,又可将演奏中的多种按键数据存储起来,极大的改善了音乐演奏的能力和条件。
2.工作原理MIDI 音乐是Windows下的一种合成音乐,由于它通过记谱的方式来记录一段音乐。
因此与wave音乐相比,它可以极大的减少存储容量。
MIDI 音乐的基本原理为:组成乐曲的每一个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和每一个频率信号持续时间,就可以使扬声器发生连续的乐曲。
图 1 是歌曲《生日快乐歌》开头一句的简谱。
由图 1 可知,该乐典涉及:中音5,6 ,7 ;高音1,2,3,4,5 。
以此为例下面介绍在本音乐发生器芯片中音乐的形成过程。
前两个音符为中音 5 ,1/16 音符,它对应的编码为1000 ,所占的脉冲个数为2 ,这样逐个将以上的简谱翻译成代码如下:|1000 1000 1001 1001 1000 1000 |1011 1011 1010 1010 1010 1010| |1000 1000 1001 1001 1000 1000 |1100 1100 1011 1011 1011 1011| |1000 1000 1111 1111 1101 1101 |1011 1011 1010 1010 1001 1001| |1110 1110 1101 1101 1011 1011 |1100 1100 1011 1011 1011 1011|图1 《生日快乐歌》歌谱在节奏时钟脉冲的控制下,将每个代码所对应的分频系数逐一赋给基频,得到对应的音调,这样连续起来就形成一段美妙的音乐。
成绩评定表课程设计任务书目录1目的及基本要求 (1)2 MP3播放器设计原理 (1)2.1 MP3播放器原理 (1)2.2 流程图 (1)2.3 设计步骤 (1)3 MP3播放器设计和仿真 (2)3.1 总体程序设计 (2)3.2 各功能模块详细设计 (4)4 结果及性能分析 (5)4.1 运行结果 (5)4.2 性能分析 (6)参考文献 (7)1 目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现MP3播放器的设计和仿真。
基本要求:基于LabVIEW的MP3播放器设计,主要利用labview的Activex, 属性节点,调用节点,Event structure等控制实现的, MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。
能熟练运用LabVIEW开发环境完成其他一些项目程序。
2 MP3播放器的设计原理MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。
它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。
VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex, 属性节点,调用节点,Event structure 等控制实现的。
2.1 MP3播放器工作原理MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。
2.2 流程设计程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。
本程序主要涉及到一下控件或结构的使用:(1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序框图或分支在执行。
课程设计目标与任务、计划与进度安排:要求:利用51单片机,蜂鸣器设计音乐播放器。
按键控制播放三首歌曲。
完成以下设计环节:1)使用PROTEUS仿真软件,设计仿真原理图。
2)使用Uvision2开发平台,采用C语言设计软件程序。
3)在仿真原理图上调试运行软件程序,完成系统仿真。
1.项目功能概述二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。
随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。
而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。
家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。
而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。
现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。
例如,就市场上的 mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。
但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,除智能化的单片机莫属。
2.硬件电路设计2.1 制作音乐播放器所使用的主要元器件主要元器件个数8051单片机1个晶振 12MHZ 1个小喇叭1个电容 30pf 2个极性电容 1uf 2个10nf 1个电阻 10k 1个排阻 1k 1个2.2 8051单片机8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔公司于1981年制造。
INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。
前端开发实训案例实现一个简单的音乐播放器在本案例中,我们将一步步实现一个简单的音乐播放器,通过前端开发实训的方式,让大家掌握基本的前端开发技能和工具的使用。
下面是实现过程的详细步骤。
一、准备工作在开始实现音乐播放器之前,我们需要准备一些必要的工作。
首先,我们需要一个 HTML 页面来显示播放器的界面,可以通过创建一个名为index.html的文件来实现。
然后,我们需要下载一个适合的音乐播放器的样式文件和脚本文件,可以在一些开源的网站上找到并下载。
二、项目结构在开始编写代码之前,我们需要创建一个合理的项目结构。
在该案例中,我们可以创建以下几个文件夹和文件:- css文件夹:用于存放样式文件- js文件夹:用于存放脚本文件- img文件夹:用于存放图片资源- index.html:HTML页面的入口文件三、实现播放器界面1. 引入样式文件在index.html文件的头部,使用<link>标签引入样式文件。
例如:```html<link rel="stylesheet" href="css/player.css">```2. 创建播放器容器在index.html文件的<body>标签内,创建一个用于显示音乐播放器的容器。
例如:```html<div class="player-container"><!-- 在这里添加其他播放器相关的元素 --></div>```3. 添加播放器控制按钮在播放器容器中,添加用于控制音乐播放的按钮。
例如,添加播放按钮、暂停按钮和上一首、下一首按钮:```html<div class="player-container"><button id="play-btn">播放</button><button id="pause-btn">暂停</button><button id="prev-btn">上一首</button><button id="next-btn">下一首</button></div>```4. 显示音乐信息在播放器容器中,添加显示音乐信息的元素。
Virtual Mix Rack是一种模拟的混音器插件,可以模拟出各种经典混音器的声音,包括EQ、压缩、限制器等效果器。
下面是Virtual Mix Rack的使用方法:1. 安装插件并打开DAW软件。
将Virtual Mix Rack插件添加到您的音轨上。
2. 选择您要使用的虚拟模块。
Virtual Mix Rack提供了许多模拟效果器,例如EQ、压缩器、限制器等。
根据需要选择相应的模块。
3. 调整参数。
在您选择的虚拟模块中,您可以通过调整各个参数来获得所需的声音。
例如,在EQ模块中,您可以调整频率、增益、Q值等参数。
4. 应用效果。
完成调整后,您可以将效果应用到您的音轨中,以产生所需的声音。
5. 保存您的设置。
一旦您完成了所需的设置,您可以将其保存为预设,并在将来需要时再次使用。
总之,Virtual Mix Rack是一种非常实用的混音器插件,可以大大提高您的混音水平。
当您打开Virtual Mix Rack插件后,您将看到一个虚拟机架界面,其中包含多个模块槽位。
每个槽位可以加载一个虚拟模块,您可以根据需要添加、移除和重新排列这些模块。
以下是Virtual Mix Rack的详细使用步骤:1. 添加和移除模块:- 在模块列表中选择您想要添加的模块,例如EQ、压缩器等。
- 将选定的模块拖动到虚拟机架界面的一个槽位上,插件将自动加载该模块。
- 要移除一个模块,只需在槽位上右键单击并选择"Remove Module"。
2. 调整模块参数:- 单击虚拟机架界面上的一个模块槽位,以切换到该模块的参数编辑界面。
- 调整模块参数以达到所需的音频处理效果。
不同的模块具有不同的参数,例如频率、增益、阈值等。
- 您可以通过拖动滑块、旋转旋钮或直接输入数值来调整参数。
3. 排序和调整模块顺序:- 您可以通过拖动模块槽位来重新排列模块的顺序,以实现所需的信号处理流程。
- 拖动一个模块槽位到另一个槽位上,将交换它们的位置。
音乐播放器一、设计目的熟悉并掌握单片机的原理及基本应用,掌握单片机基本外设的使用方法,掌握汇编语言编程方法,熟悉PROTEUS仿真的使用,可以应用电子工艺的基础知识连接硬件实现设计功能。
二、设计要求(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。
(2)采用七段数码管显示当前播放的歌曲序号。
(3)可通过功能键选择乐曲,上一曲,下一曲。
三、发音原理3.1播放音乐的原理发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。
首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。
对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。
另外,音符的频率有所不同。
基于上面的内容,这样就对发音的原理有了一些初步的了解。
音符的发音主要靠不同的音频脉冲。
利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.2引脚的输出音乐。
只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
3.2音符频率的产生音符及定时器初始值:例如:中音1(do)的音频=523HZ,周期T=1/523s=1912sμ定时器/计数器0的定时时间为:T/2=1912/2sμ=956sμ定时器956sμ的计数值=定时时间/机器周期=956sμ/1sμ=956(时钟频率=12MHZ)装入T0计数器初值为65536-956=64580将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.1引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。
将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。
基于AndroidStudio的智能音乐播放器设计与开发智能音乐播放器是一种结合了人工智能技术和音乐播放功能的应用程序,它能够通过分析用户的听歌历史、喜好和心情等信息,为用户推荐个性化的音乐列表,提升用户体验。
本文将介绍如何基于AndroidStudio进行智能音乐播放器的设计与开发。
1. 智能音乐播放器的功能需求分析在设计智能音乐播放器之前,首先需要明确其功能需求。
智能音乐播放器通常具备以下功能:音乐播放:支持本地音乐文件和在线音乐的播放功能;播放列表管理:支持创建、编辑、删除播放列表,并能够将歌曲添加到指定的播放列表中;播放模式:支持顺序播放、单曲循环、随机播放等不同的播放模式;播放控制:支持暂停、播放、上一首、下一首等基本的播放控制功能;智能推荐:根据用户的听歌历史和喜好,为用户推荐个性化的音乐列表;歌词显示:支持显示歌曲的歌词,并实现歌词与音乐的同步显示功能。
2. AndroidStudio环境搭建在进行智能音乐播放器的设计与开发之前,需要搭建好AndroidStudio的开发环境。
首先下载并安装AndroidStudio,然后配置好相应的SDK和虚拟设备,确保可以顺利进行Android应用程序的开发。
3. 项目结构设计在AndroidStudio中创建一个新的项目,定义好项目的结构。
通常一个智能音乐播放器项目包含以下几个主要模块:播放器界面模块:负责展示音乐播放器的界面,包括歌曲封面、歌曲信息、进度条等控件;播放控制模块:负责实现音乐的播放、暂停、上一首、下一首等操作;播放列表管理模块:负责管理用户创建的不同播放列表,并实现歌曲的添加、删除等操作;智能推荐模块:负责分析用户听歌历史和喜好,为用户推荐个性化的音乐列表;歌词显示模块:负责解析歌曲的歌词文件,并实现歌词与音乐的同步显示功能。
4. 功能模块实现4.1 播放器界面设计设计一个美观直观的音乐播放器界面是吸引用户使用的关键。
可以在界面上添加歌曲封面展示区域、歌曲信息显示区域、进度条控制区域等元素,提升用户体验。
Ample Sound Guitar 使用心得:Ample Sound Guitar 是一款高品质的虚拟吉他音源软件,它通过模拟真实吉他的音色和演奏风格,为音乐制作人和吉他爱好者提供了一种便捷的创作工具。
本文将结合个人经验,客观地评估 Ample Sound Guitar 的性能和优缺点。
Ample Sound Guitar 提供了多种吉他类型,包括电吉他、民谣吉他和古典吉他等。
每种吉他都经过精心采样,使用者可以根据自己的需求选择合适的音色。
软件内置了丰富的吉他演奏技巧,如和弦、滑音、泛音等,使得演奏更加真实。
同时,Ample Sound Guitar 还提供了强大的音频处理功能,如合成器、混响和均衡器等,用户可以根据自己的喜好对音频进行调整,满足个性化的音乐制作需求。
使用 Ample Sound Guitar 的过程非常简单。
软件界面友好,操作直观。
用户可以通过 MIDI 键盘或吉他控制器进行演奏,也可以使用鼠标点击界面上的琴弦进行弹奏。
软件支持多种音频格式,可以方便地与其他音频软件进行兼容和整合。
同时,Ample Sound Guitar 还具备多轨录制功能,用户可以将不同音轨进行叠加,制作更加丰富和复杂的音乐作品。
Ample Sound Guitar 的音色表现非常出色。
它不仅能够模拟传统吉他的音色,还能够创造出一些独特的音效,如重金属吉他、扭曲吉他等。
采样的质量非常高,充分还原了真实吉他的音质和共鸣。
在演奏技巧方面,Ample Sound Guitar 的模拟效果也相当令人满意,弹奏的手感和音色变化都能够精确呈现。
然而,Ample Sound Guitar 也存在一些不足之处。
首先是其占用的系统资源较大,需要较高的计算性能和内存容量。
对于一些配置较低的电脑,可能会出现卡顿和延迟的情况。
其次,虽然软件内置了大量吉他演奏技巧,但对于一些高级玩家来说,可能还是无法完全满足特定的演奏需求。
此外,软件的价格相对较高,对于一些预算有限的用户来说可能会有些不便。
基于语音识别技术的音乐播放器设计马洪涛【摘要】随着科学技术的飞速发展,电子信息技术已慢慢应用到各行各业的产品中,如工业控制设设备、通讯设备和各种电气设备。
在人工智能和计算机技术的推动下,人类的电子设施将会朝着智能化方向大步前进,尤其是语音识别技术贡献突出。
语音识别技术将会替代传统的按键控制,这不仅为使用者提供了方便,还大大节约了成本,提高了电子产品的智能化进程。
本文简单介绍了语音识别系统理论和播放器设计,阐述了语音识别技术的发展现状,以基于语音识别技术的单片机音乐播放器设计为例,用此来证明语音识别技术的音乐播放器设计的可用性,为该项技术在日常生活中的广泛应用提供具体依据。
【期刊名称】《电子制作》【年(卷),期】2014(000)010【总页数】2页(P70-70,69)【关键词】语音识别;技术;音乐播放器;设计【作者】马洪涛【作者单位】江苏海事职业技术学院 211100【正文语种】中文目前,人类实现了由传统靠键盘和按键控制机电、计算机系统的生活作业模式到通过语音识别技术控制机电和计算机系统的飞跃。
语音识别技术的播放器设计过程实际是实现语音智能控制音乐播放器的技术。
很长一段时间,人机对话通过数字领域的“手动操作”来进行,这种交流方式将人与机电系统和计算机系统之间的交流变得狭隘,人与机器只能通过数字量或者数字转换形式在近距离的空间里进行交换。
语言本是人类最基本的沟通交流工具,在日常活动中,人们通过语言进行信息传递。
语言能承载很大的信息量,具有较高的智能水平,在以后的探索中,它是实现机电系统和计算机系统向人一样能感知、能表达的发展方标。
一般的播放器都是通过手动来调节,这种操作形式不仅使硬件设施老化迅速,还给手脚不方便的使用者带来很多麻烦。
有人预测,语音识别技术在10年之内将迅速进入家电、通信、家庭、汽车及工业等领域。
语音识别技术最早出现在50年代,AT&T Bell实验室研制的可识别十个英文数字的语音识别系统标志着语音识别技术时代的到来;60年代的重要成果就是用动态规划方法来解决语音识别中不等长的对正问题;70年代,取得了突破性的进展,研制出了基于线性预测倒谱和DW技术的特定人孤立语音识别系统,80年代,HMM模型和人工神经元网络在语音识别系统中的应用使语音识别研究进一步加深;90年代,伴随着多媒体的到来,迫切要求语音识别系统从实验室中走到现实生活中。
单片机音乐播放器应用实现简单的音乐播放功能单片机音乐播放器应用音乐是人们生活中不可或缺的一部分,而在现代科技的不断发展下,单片机音乐播放器应用已经成为许多人追求的目标。
本文将介绍如何实现一个简单的单片机音乐播放器功能,让您能够轻松享受音乐的魅力。
一、硬件准备在开始之前,我们需要准备一些硬件设备,以确保音乐播放器能够正常工作。
首先,我们需要一块单片机开发板,例如STC89C52,这是一款常用的单片机开发板;其次,我们需要一个音频解码模块,例如DFPlayer Mini,他可以轻松解码并播放存储卡上的音乐文件;最后,我们还需要一个音箱或者耳机,用于输出音乐。
二、软件编程1. 搭建开发环境首先,我们需要安装MIDE-51集成开发环境,它是STC89C52单片机所使用的开发工具。
安装完成后,可以通过打开MIDE-51来创建一个新的工程。
2. 编写代码首先,我们需要在代码中包含一些必要的库文件,以便使用一些功能函数。
例如,我们可以通过以下代码片段引入DFPlayer Mini音频库文件:```c#include <DFPlayer_Mini_Mp3.h>```接下来,我们可以通过定义一些常量或变量来控制音乐的播放,例如:```cconst int playButton = 2; // 播放按钮连接到单片机的2号引脚const int nextButton = 3; // 下一首按钮连接到单片机的3号引脚const int previousButton = 4; // 上一首按钮连接到单片机的4号引脚```然后,我们可以在主循环中不断检测按钮的状态,并根据按钮的状态来控制音乐的播放:```cvoid loop() {if (digitalRead(playButton) == HIGH) { // 如果播放按钮被按下DFPlayer_Mini_Mp3.play(); // 播放音乐}if (digitalRead(nextButton) == HIGH) { // 如果下一首按钮被按下 DFPlayer_Mini_Mp3.next(); // 播放下一首音乐}if (digitalRead(previousButton) == HIGH) { // 如果上一首按钮被按下DFPlayer_Mini_Mp3.previous(); // 播放上一首音乐}}```通过上述代码,我们可以实现简单的音乐播放功能。
课程设计题目:音乐发生器系部: 数理系姓名: 徐图学号:080112103指导老师:栗玉霞二○一○年十二月三十一日基于555定时器的音乐发生器【摘要】本音乐发生器基于M I D I音乐基本原理设计,结合555定时器应用技术原理,以数字电路及模拟电路知识为基础,以555定时器为设计核心。
在本设计中,主要是利用555定式器的应用来更好的实现此音乐播放器的功能。
【关键词】数字电路MIDI音乐播放器555定时器目录第1章绪论 (1)1.1题目的背景和意义 (1)1.2应用及发展前景 (1)第2章总体设计概述 (2)2.1 设计思路 (2)2.2 设计芯片选择 (2)2.3 设计芯片介绍 (2)2.4 设计过程 (4)2.4.1公式计算 (4)2.4.2音调调节 (5)2.4.3功率放大电路 (5)2.5 设计改进方案 (5)2.6 设计总结 (6)参考文献 (6)第一章绪论1.1题目的背景随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,音乐发生器的应用越来越广的应用到各个领域。
随着我国的经济发展,人们不在只是追求温饱,而是上升了很大的层次,家长对孩子的教育也是不断的提升,每个家长都希望自己的孩子能全面的发展,于是音乐成为广大家长的首选。
广大父母也在寻求最早、最快、操作极为简单的培养音乐兴趣的工具。
1.2应用及发展趋势就在此背景下,一个操作简单的,不需要一点音乐基础,操作无危险的音乐工具出现,此音乐发生器走进了父母的眼中,走进了千家万户,成为家长培养孩子音乐感的首选。
这将给父母对孩子的早教提供很大的方便。
第二章总体设计概述2.1设计思路不同的音调是不同的频率所影响,所以通过改变响应的频率就可以发出不同的音调,从而实现此播放器的功能。
2.2设计芯片选择通过对数字电路的学习,了解555定时器能够通过改变不同的电阻值,而改变所发出的频率,从而发出不同的音调。
《微处理器与接口技术课程设计》报告——简易音乐播放器设计专业:通信工程班级:姓名:学号:年月摘要本设计是基于AT89C51单片机的简易音乐播放器。
该音乐播放器是一个依据单片机技术原理,通过PROTEUS仿真软件对硬件电路进行仿真制作以及利用KEIL软件对音乐播放器源程序进行C怨言编译,而设计出的一个音乐播放器。
该音乐播放器通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调的声音,程序通过把乐谱转化成相应的定时常熟来驱动蜂鸣器演奏音乐。
本音乐播放器共收录了3首歌曲,同时设计了LED等的变换,随着音调进行闪烁。
可以通过按键暂停和播放歌曲,并能够切换至下一个歌曲。
并能够通过LCD1602显示出歌曲的名称。
关键词:AT89C51;LCD1602;音乐播放器;按键第1章课程设计目的1.1巩固和加深对微处理器原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
第2章课程设计任务与要求2.1 设计任务设计一个简单的音乐播放器,能够在系统开始模拟后自动播放音乐,并且能够在LCD屏幕上显示出正在播放的音乐的名字,LED灯随着音调的不同实现不同个数的灯亮,并且能够通过按键暂停、开始播放和切换歌曲。
2.2 设计要求1.在播放歌曲时LCD屏幕上能够正确显示出歌曲名。
2.在按下暂停按键后能够暂停播放歌曲,并且再次按下后能够继续播放歌曲。
3.在按下切换按键后能够切换歌曲,并且LCD屏幕上的歌名随之变换。
4.能够实现LED灯随着音乐音调进行相应的发光。
第3章硬件设计3.1 设计思想本系统时由按键系统,单片机系统,屏幕显示系统以及音乐播放系统组成的。