基于PWM的音乐回放设计.doc

基于PWM的音乐回放设计.doc

ID:59211910

大小:496.00 KB

页数:6页

时间:2020-09-10

基于PWM的音乐回放设计.doc_第1页
基于PWM的音乐回放设计.doc_第2页
基于PWM的音乐回放设计.doc_第3页
基于PWM的音乐回放设计.doc_第4页
基于PWM的音乐回放设计.doc_第5页
资源描述:

《基于PWM的音乐回放设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于PWM的音乐回放设计原理首先将音乐数据通过软件工具,按照一定的采样率进行提取,然后将声音幅度信号转换成频率固定,占空比随着音乐幅度变化的PWM输出。输出模块采用硬件滤波后,经过喇叭对声音进行还原。下面介绍一下,具体的步骤。实现步骤1、选取音乐文件要求音乐文件最好是声音效果比较清晰的文件。2、将音乐文件转换为包含声音幅度信息的txt文档此处用到GoldWave软件。(1)启动GoldWave软件,打开选择的音乐文件。如下图所示,一般支持mp3和wav格式的音乐。(2)由于图中给出的声音是双通道的,而实际还原为单通道的声

2、音,于是需要将立体声转换为单通道。可以选择文件->另存为,弹出如下弹窗。保存类型,依然设置为原声音文件格式,音质采用PCM8位量化,momo(单声道)式样。由于PWM输出的精度为8位的,所以这里设置为8位(可以设置为更高精度)。然后点击保存。(3)再次打开上面保存的文件,由于该波形存在负半周。因此需要整体的波形上移,以去掉负的波形。但是此处平移可能引起声音的最大值失真。上移波形的步骤为:点击效果->偏移,弹出上图所示弹框。在预置中选择向上移位。位移效果如下图:从上图可以看出声音波形有很大的失真,可以在移动前将声音的幅值进

3、行缩放。选择效果->音量->更改音量弹出如下框图:可以再预置中设置一半。将原声音幅度减小为1半,设置后如下图:此时可以看到声音的最大幅值,已经降到原来的一半。再次将声音进行向上平移,得到如下效果:从上图可以看出,声音的幅度变化,比没有进行幅度缩放前,变化明显的多。(4)提取声音幅度值点击文件->另存为,弹出如下弹框:一次输入保存文件名,保存类型选择为NumericalText(*.txt)格式。音乐质量选择为ASCII16bitinteger,momo(5)如果保存的txt文件过大,可以重新设置采样率。设置过程为:编辑-

4、>效果->重新采样在上图的右边框中设置采样速率。(6)由于单片机中,采用中断控制PWM输出每个声音的幅度,中断频率不能太高,否则影响系统的运行,我们把中断时间设置为125us.即播放频率为8KHZ。则采样频率设置为8KHZ即可。当采样频率提高后,此处的中断时间要降低,可以适当作出调整。3、通过代码读取txt文件可以直接将先前处理好的声音文件以TXT文件形式放在代码中,注意需要将第一行屏蔽,且在每个数字后面加上逗号。如下截图:(1)由于此处的数据与PWM的占空比没有对应关系,还需要进行归一化处理。将上面所有的数据转换为占空

5、比在0-100之间的数据。若适当提高PWM占空比的分辨率,即可以提高声音的音质。(2)代码中采用如下形式,以数组形式访问TXT文件数据。#defineMUSIC_DATA_NUM20425staticconstU8g_nMusicDataDuty[MUSIC_DATA_NUM]={#include"music_7.txt};这样只要通过下标就可以访问g_nMusicDataDuty标示的声音数据。4、PWM输出,进行声音还原通过定时调用HalPWMStart(U8channel,U16freq,U8duty)函数,既可实

6、现声音的还原。此处freq必须大于采样频率,当采样频率为8K时,经过试验,此处freq设置为40K,声音效果比较好。优点:用该方法可以很方便的实现任意音乐的回放。缺点:1、txt文档数据量加大,声音效果越好,数据量越大。2、PWM输出控制频率较大,系统占用较高。3、需要另外添加滤波电路,负责砸音比较大。应用:该方案应该用在A60EV仪表项目的开机启动的音乐上。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。