本帖最后由 chuanyang 于 2018-9-15 22:36 编辑
1.项目背景:由于项目要用到语音播报,播报内容只需要几秒钟内容就可以了!目前思路是:将WAV转换后的音频文件存储在SPIflash中,在需要播报内容时候,将数据读出,通过SMT32的I2S接口按照标准PHILPS协议发给CS4344然后到D类放大器输出到喇叭。(WAV直接通过软件工具转换成hex文件)
2.问题描述:将载入的音频数据通过DMA发出,喇叭没有反应,只听见很微弱的哒哒哒的声音,播放的声音非常微弱,感觉CS4344没有满量程输出,还没搞懂如何使DAC满量程输出,WAV格式的音频能否调节音量呢?如何调整呢?。。。高手勿喷!
3.如果不用这种方案有没有低成本更取巧的解决方案呢?谢谢论坛朋友推荐!
4.CS4344功放电路如下:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
>>播放的声音微弱
是正常预设的声音还是无关杂音?
不使用dma或中断,直接向I2S写随机数是否能发出正常音量的白噪?
while (1) {
SPI_I2S_SendData(SPI3, rand());
}
类似这样
>>WAV格式的音频能否调节音量
从flash读取数据后,每个采样点乘/除个系数即可调节音量,再送i2s即可
(待测试后编辑)以最常用的s16_le格式的pcm为例,音量-6db:
uint8_t DMABUF[1024];
for(i=0;i<sizeof(DMABUF);i+=sizeof(int16_t)) {
*(int16_t*)&DMABUF【i】 /= 2;
}
你好!
1.现在发的数据是用 WAVE TO C这个软件输出的8位采样宽度,声音比较小,我乘了1000后就比较大了,但是声音效果极差,根本听不清晰;
2.比如我要实现16-24bit位宽的采样效果,做到20k的采样周期,怎么做这个输入WAVE数据呢?有没有相关软件推荐呢?
某宝搜索 MP3 语音 芯片 一大堆产品
CS4344必须需要使用I2S接口的芯片,而现成的芯片只需要串口就可以了。
JL1094 JQ8900 KT403A N9200 等等等等
这的确是比较方便,但是有个问题,用户只想把音频文件固话到flash里面,无需要 sd/tf卡之类的,有没有办法用sub烧写音频文件到flash,再用单芯片来播放,或推荐的类似方案
一周热门 更多>