读取flash中的语音文件WAV如何导入到flash中

2019-07-14 15:27发布

目前,需要做个功能 读取fllash中的语音文件,然后利用PWM播放出来;
现在我面临以前几个 问题
1、FLASH只有1M,我已经 存了字库了大概750kb;剩下的已经不多了(我需要的也就几句话,先搞一句话,空间的问题后面再说)
2、WAV如何导入到flash中 ;(需要把非语音字节去掉在导入,还是直接把WAV文件直接通过修改后缀的方式改成 BIN文件然后才导入)(我打算用 串口接收,然后写入到flash中)
3、我用 朗读女生成了我需要放出来的那几个字,但是看不到采样级别(我的电脑是WIN10 系统)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
吕少大大
1楼-- · 2019-07-14 19:22
1.如果存储空间不够,可以将wav文件转换成8k采样率8bit深度单声道文件,下个GoldWave软件即可。
250k字节空间,对8k/8bit/mono文件,可以存储约32秒音频。
2.可直接将wav文件写入flash中,但读取的时候,按照wav的格式,去掉头部即可,一般是前44字节。
播放时,每1/8k秒读取一个字节并输出到PWM上。如果可以,建议把PWM输出改为DAC输出,音效会更好。
3.用GoldWave打开文件即可看出文件的采样率和位宽等信息。
sdfsgsd
2楼-- · 2019-07-14 21:57
吕少大大 发表于 2018-12-6 20:23
1.如果存储空间不够,可以将wav文件转换成8k采样率8bit深度单声道文件,下个GoldWave软件即可。
250k字节空间,对8k/8bit/mono文件,可以存储约32秒音频。
2.可直接将wav文件写入flash中,但读取的时候,按照wav的格式,去掉头部即可,一般是前44字节。

非常感谢;我就先去动手了;
不过,我还有个想法;因为我需要的语句并不多,只有几条;后面导入不可能单独导入,肯定是要做成一个文件去导入;我打算,把所有单独的语音文件,去掉前面的格式块的数据,将数据整合起来;如果能行,尽量做到一条语音占据一个page(或者是sector,这样的整个地址);这样通过地址偏移就能准确调用每一个想要的语音包
sdfsgsd
3楼-- · 2019-07-14 23:02
吕少大大 发表于 2018-12-6 20:23
1.如果存储空间不够,可以将wav文件转换成8k采样率8bit深度单声道文件,下个GoldWave软件即可。
250k字节空间,对8k/8bit/mono文件,可以存储约32秒音频。
2.可直接将wav文件写入flash中,但读取的时候,按照wav的格式,去掉头部即可,一般是前44字节。

另外,PWM占空比如何通过当前数据来计算呢
sdfsgsd
4楼-- · 2019-07-15 01:18
 精彩回答 2  元偷偷看……
sdfsgsd
5楼-- · 2019-07-15 02:46
8位量化的脉冲宽度为:音频数据/255*pwm周期

PWM占空比是这样计算么
吕少大大
6楼-- · 2019-07-15 03:24
sdfsgsd 发表于 2018-12-6 21:29
8位量化的脉冲宽度为:音频数据/255*pwm周期

PWM占空比是这样计算么

差不多就这意思。
你把PWM理解成DAC就行了。

一周热门 更多>