最近在使用rtthread 的 audio設備播放wav的音頻,MCU使用的是STM32F4,使用過程中發現,不能在播放單聲道音頻的時候會特別快,究其原因是因為STM32的I2S是雙聲道輸出,而音頻輸入的聲音是單聲道的,相當于少一個聲道的數據,其實如果播放立體聲音頻就沒有問題了。
但是使用立體聲音頻會增加WAV文件的體積,這樣占用的FLASH空間就大了,目前想到的方案是將讀取到的音頻數據擴展到雙聲道,我們直接修改wavplayer.c中的內容,如果有更好的解決方案,歡迎指正:
修改點如下:
1、聲明一個聲道數變量來記錄當前音頻的聲道數,在聲明一個ushort類型的指針,方便后邊計算
2、獲取當前音頻的聲道數
3、獲取音頻文件讀取緩沖區的指針
4、如果是單聲道音頻,那么將 單聲道的音頻擴展到左右兩個聲道,形成雙聲道數據流
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
mcu
+關注
關注
146文章
17640瀏覽量
357129 -
緩沖器
+關注
關注
6文章
2023瀏覽量
46221 -
STM32F4
+關注
關注
3文章
194瀏覽量
28671 -
RTThread
+關注
關注
8文章
132瀏覽量
41394 -
WAV音頻
+關注
關注
0文章
2瀏覽量
1186
發布評論請先 登錄
相關推薦
HT8513HT8515單聲道D類音頻功率放大器中文手冊
? ? HT8513HT8515是一款內置自適應同步升壓的單聲道D類音頻功率放大器,由鋰電池供電時,THD+N
發表于 04-14 18:21
?0次下載
tlv320aic3104播放單聲道數據但是兩個聲道都有聲音,為什么?
DACL1 to HRLOUT)
播放left聲道數據時,沒有任何聲音輸出
播放right聲道數據時,還是一樣兩個聲道同時輸出
發表于 11-05 07:25
PCM1794使用單聲道模式有破音如何解決?
我使用PCM1794做音頻處理,采用單聲道模式,發現聲音很破,有雜音,沙音等怪怪的現象,就好像聲音有殘缺或者重疊一樣,電路接法如附圖,接回立體聲模式就很正常,請問是什么原因?是否這種接法有問題?該如何解決?盼復。謝謝!
發表于 11-05 06:48
8127+tlv320aic3104設置立體聲采集到音頻播放是快進音頻的聲音,怎么解決?
8127+tlv320aic3104設置單通道采集到的音頻播放正常流暢的聲音,設置立體聲采集到音頻 播放出來是快進音頻的聲音就是
發表于 11-05 06:31
使用單聲道采集DM365+AIC3101的音頻,怎么操作?
最近在調試DM365+AIC3101音頻的問題,使用內核是LINUX 2.6.18, 采用MIC輸入. 立體聲已經可以正常采集.但是我現在想使用單聲道采集聲音,這款芯片是否支持?有哪些寄存器需要配置 ?
發表于 11-01 06:59
如何使用TLV320AIC34實現4路單聲道音頻輸出?
大家好,我現在使用TLV320AIC34實現4路單聲道音頻輸出,很多設計是將立體音輸出,這樣會占用兩個DAC,達不到4路音頻輸出的效果,如果一路DAC對應一路單聲道
發表于 10-17 08:32
TPA3116D2雙聲道輸入,是否可以單聲道輸出?
1.雙聲道輸入,是否可以單聲道輸出
2.音頻輸出信號,是否支持使用adc采樣到MCU,進行判斷PA是否正常輸出,如果可以如何配置采樣電路
發表于 10-10 08:26
采用LM4991對單聲道音頻進行放大,功放LM4991一打開使能,喇叭就會有“噗”的聲音如何消除?
我這邊采用LM4991對單聲道音頻進行放大。為了實現低功耗,在不播放音頻時,功放LM4991設置為休眠狀態。
但是在測試過程中,發現功放LM4991一打開使能,喇叭就會有“噗”的聲音,請問如何消除這個聲音呢?
輸入無信號,使能
發表于 08-21 07:33
一款低功率、高質量的單聲道音頻編解碼器 - CJC8911
CJC8911是一個低功率,高質量的單聲道編解碼器,設計用于便攜式數字音頻應用程序。該設備集成了完整的接口到一個出線端口的接口。片上數字信號處理執行圖形均衡器,三維聲音增強和麥克風或線路的自動電平控制輸入。

5W單聲道G,5W單聲道G,F類音頻功放,讓平民音箱動聽
CS5290E是一款高性能、低成本、低功耗的音頻功放IC,采用CMOS工藝,具有電容式升壓型GF類單聲道音頻功放的特點。該芯片集成了ChargePump升壓模塊和AB類和D類兩種工作模式,具有防破音

評論