_NCY_ 发表于 2024-5-26 12:47:47

播放WAV为什么杂音很大?FLASH和SD卡哪个快?| 已解决

STC8H8K读取FLASH里的WAV(22khz 8bit single track)用PWM播放,结果杂音巨大,加上FAT12文件系统后声音都不连续了。(这还是硬件SPI,模拟SPI卡顿就更明显了)

为什么我看坛子里大家播放44.1k双声道都这么轻松,有用FLASH试过的吗?难道FLASH就是比SD卡慢?
还有就是WAV播放时候的杂音是怎么回事啊,搞了半天还没弄明白。

晓飛飛 发表于 2024-5-26 13:19:55

正常情况下,读Flash比SPI方式读取SD卡更快,要想播放流畅,可以考虑在XDATA区开两片缓存区,采用乒乓操作减少读存储器和播放音乐之间的耦合干涉。

_NCY_ 发表于 2024-5-26 15:30:06

那用STC8H的高速SPI(拉满到2T)读W25Q64,能到什么速度?(没有用到DMA)

梁工 发表于 2024-5-31 11:41:33

8bit的WAV噪声大是正常的,用A率压缩/解压缩一下,12位的声音听感会逼近MP3。或者用ADPCM也可以,码率小一半,听感会逼近MP3。

_NCY_ 发表于 2024-6-1 09:31:37


播单声道22k wav


时不时有杂音出来

_NCY_ 发表于 2024-6-1 09:38:03


有几个问题:
1:直接取高8位再加128这么转换对吗?有问题了话话该怎么弄?
2:为什么没有声音时候是128,PWM比较阈值为什么不是从0开始而是要从128?
3:怎么用软件控制音量?实验发现简单的乘除加减直接就会把音乐破坏掉

_NCY_ 发表于 2024-6-1 13:33:31

_NCY_ 发表于 2024-6-1 09:31
播单声道22k wav




问题已解决!!!
原因是因为读取速度过快,FLASH里会不时读出错误的0xFF来,就造成了沙沙声

所系希望大家注意:HSPI的2T模式可能会让有些FLASH吃不消(尤其是高主频的时候),建议还是用4T吧

_NCY_ 发表于 2024-6-1 13:44:39



总算没杂音了

wanli 发表于 2024-10-25 08:38:12

_NCY_ 发表于 2024-6-1 13:44
总算没杂音了

这个能控制 播放和停止 暂停吗{:4_267:}有没有开源代码

_NCY_ 发表于 2024-11-1 19:38:54

wanli 发表于 2024-10-25 08:38
这个能控制 播放和停止 暂停吗有没有开源代码

播放器开源了
在作品展示里。
还可以调整音量,快进快退
页: [1] 2
查看完整版本: 播放WAV为什么杂音很大?FLASH和SD卡哪个快?| 已解决