基于FPGA的音乐播放器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每个音名对应的频率如下表所示:
音名 低音1 低音2 低音3 低音4 频率(Hz) 音名 261.6 293.7 329.6 349.2 中音1 中音2 中音3 中音4 频率(Hz 523.3 587.3 659.3 689.5 音名 高音1 高音2 高音3 高音4 频率(Hz) 1046.5 1174.7 1318.5 1396.9
• 先介绍一下硬件电路的发声原理。声音的频谱 范围约在几十到几千赫兹,若能利用程序来控制 FPGA某个引脚输出一定频率的矩形波,接上扬 声器就能发出相应频率的声音。乐曲中的每一音 符对应着一个确定的频率,要想FPGA发出不同 音符的音调,实际上只要控制它输出相应音符的 频率即可。乐曲都是由一连串的音符组成,因此 按照乐曲的乐谱依次输出这些音符所对应的频, 就可以在扬声器上连续地发出各个音符的音调。 而要准确地演奏出一首乐曲,仅仅让扬声器能够 发生是不够的,还必须准确地控制乐曲的节奏, 即乐曲中每个音符的发生频率及其持续时间是乐 曲能够连续演奏的两个关键因素。
基于FPGA的音乐播放器
小组成员: 李龙蛟,黄太峰 赵艳红,徐红丽 倪飞
实现的主要功能:
• 利用板子上的一个开关按钮选择播放的曲子,共 设置了三个曲子,置高一秒置低播放第一首,置 高三秒置低播放第二首,置高五秒置低播放第三 首; • 在显示屏上显示音阶; • 在显示屏上显示简单的字符。
设计思想:
The end,thank you!
百度文库
音调发生器模块:
• 在此模块中设置了一个8位二进制计数器(计数最 大值为107),这个计数器的计数频率选为4Hz, 即每一计数值的停留时间为0.25s,恰好为当全音 符设为1s时,四四拍的4分音符的持续时间。
手动选择模块:
• 根据设计的要求,该简易乐曲演奏器能实现手动 演奏乐曲的功能。 • 用一个开关控制,当开关置高一秒置低播放第一 首,置高三秒置低播放第二首。
低音5
低音6 低音7
392
440 493.9
中音5
中音6 中音7
784
880 987.8
高音5
高音6 高音7
1568
1760 1975.5
本设计由四个模块组成:
音调发生
手动选择
音调编码
数控分频
音调编码器模块:
• 此模块的功能首先是为skfpq提供决定所发音符的 分频预置数,而此数在skfpq输入端口停留的时间 即为此音符的节拍值。ydbmq模块是乐曲简谱码 对应的分频预置数查表电路,其中设置了《祝你 生日快乐》乐曲全部音符所对应的分频预置数, 共9个,每一音符的停留时间由音乐节拍和音调发 生器模块ydfsq的clk输入频率决定,
心得体会:
• 在上这门课之前,我们可以说是对FPGA 的设计 完全不了解,但在上了这门课之后,再加上我们 的实际动手设计,让我们学到了很多,亲身体会 到应用FPGA 进行实际设计的无穷乐趣。 • 在整个设计过程中,我们体会到:无论多么简单 的东西,都一定要实际动手去研究去理解它,很 简单的时间也会给我们增加很多的经验;无论多 么复杂的设计,都是由无数简单的设计堆砌、发 展而来的;别人的经验是我们很好的借鉴,我们 可以站在巨人的肩膀上更上一层楼,但是我们同 时也一定要有坚实的基础,借鉴的别人的经验定 要好好消化吸收,使之完全成为自己的东西。