把STM32F407 USB声卡例程从采样率48K,改成16K,
修改
I2S2_Init(0,2,0,1); --》I2S2_Init(0,2,0,0);
采样率 48000 -> 16000
增加
WM8978_Write_Reg(7,0x3<<1);//采样率改成16K
WM8978_I2S_Cfg(0x2,0); //改成16bit/frame
等等……
能正常播放,但不能在电脑端播放声音太大(如在PC端把声音调最大),太大就会失真,
我担心是不是我送IIS的数据有问题,所以我在PC端播放1Khz正玄波的音频,然后看IIS的数据,看数据也是标准的正弦波数据,那为什么送解码芯片就失真呢,而且是PC端增益很大时才失真
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
但放48K可以放很大啊,都是16bit的
如果这样就不好说了。
我用stm32f103RE接两个数字麦克风,经pdm转成pcm后 通过usb发送到pc。整个板子相当一声卡。问题是用pc录音,出现播放速度加快,和噪音的显现。 请大家帮我分析分析到底是哪里出问题了。谢谢
两个麦克风通过一根线 接到i2s的 sd , 麦克风的clk 由i2s的sck产生。我是把i2s配置为主接收模式,用i2s来读取数据。目的是实现输出2通道16k采样。为此,我的i2s sck输出频率为 2.048M。 麦克风的输入频率为1.024M
现在不清楚到底问题出在采样阶段 还是pdm 转pcm 还是usb audio发送阶段,请大家帮忙分析下。
一周热门 更多>