本帖最后由 十五 于 2025-8-18 16:33 编辑
一、WAV格式简介 WaveformAudio File Format(WAVE,又因为WAV后缀而被大众所知),它采用RIFF(ResourceInterchange File Format)文件格式结构,文件是由一个一个的chunk组成的,并且chunk之间可以嵌套。通常用来保存PCM格式的原始音频数据,所以通常被称为无损音频。其文件扩展名为WAV,是Wave Form的简写,也称为波形文件,可直接存储声音波形。
二、DGUS屏
1.wav转换
立体声wav文件转换为单声道wav文件。
如例程的立体声wav文件格式:
采样率:44100Hz
声 道:立体声
位深度:16位
格 式:波形音频16位整数。
转换后的单声道wav文件格式:
采样率:32000Hz
声 道:单声道
位深度:16位
格 式:波形音频16位整数。
单声道为左声道或者右声道语音,满足上述格式要求的文件均可使用。
2.复制wav音频数据到22文件初始化
设定DGUS屏VP变量起始地址为0x8000,工程DWIN_SET文件夹复制一个空的22文件,将wav数据复制到22文件0x10000起始地址。DGUS屏为MSB模式,wav和wae文件为LSB模式,复制数据时,数据部分第一个字节不复制,使数据高低字节整体错开。
3.将22文件下载到DGUS屏
在线或SD卡下载。
4.指令播放
0xF0 | | | | D7:写入0x5A 启动一次音乐播放处理,CPU 操作完清零。 D6:播放模式,0x00=停止(清空缓冲区),0x01=暂停(不清空缓冲区),0x02=播放。 D5:D4:未定义,写0x00。 D3:D2:保存音乐数据的变量存储器地址,偶数。 D1:D0:需要播放的音乐数据字长度,最大8KWords,偶数;数据为16bit 整数格式。 |
每次发送8KWords数据,8KWords是8*1024,即变量地址间隔0x2000。1千字节(KB)=1024字节(B)。 5AA5 0B 82 00F0 5A02 0000 8000 2000 5AA5 0B 82 00F0 5A02 0000 A000 2000 5AA5 0B 82 00F0 5A02 0000 C000 2000
5AA5 0B 82 00F0 5A02 0000 8000 2000
含义:0x5AA5:帧头;
0x0B:数据长度,0x82开始,不含0x0B字节;
0x82:写指令;
0x00F0:音乐流接口地址;
0x5A02:写入0x5A 启动一次音乐播放处理,CPU 操作完清零。0x02=播放。
0x0000:未定义,写0x00。
0x8000:保存音乐数据的变量存储器地址,偶数。 0x2000:需要播放的音乐数据字长度,最大8KWords,偶数;音频数据为16bit 整数格式。
5.注意事项
(1)有效语音数据与全部语音数据
0x2000,10进制为8192,47556/8192≈5.81,即6条指令写完全部数据。播放时,前2条指令16Kwords数据即可播放完有效音频,后面部分为噪音和无效数据,与语音发音和结束时间有关。
(2)播放是沙沙噪声
DGUS是MSB模式,wav、wae是LSB模式,音频数据第一个字节去掉,数据高低字节整体错开。
(3)22文件放到桌面编辑,在DWIN_SET下编辑,软件生成新文件会覆盖掉。在线下载默认工程DWIN_SET路径,选择编辑后的22文件。
(4)Towav工具转换的wav、wae文件数据都可以播放,其他软件转换的左声道、右声道文件也支持,注意输出32000Hz采样率,不是44100Hz。
6.DEMO说明 DEMO480*480分辨率。 大于480*480分辨率可直接下载调试,小于480*480分辨率只会显示屏分辨率大小,超出部分不显示。 附件包含:Towav单声道转换工具,单声道、立体声语音文件。
7.bilibili教学视频
友情链接:
触控按键语音、音乐播放:
http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=4898
|