|
前言
目前,網(wǎng)絡(luò)上絕大都數(shù)關(guān)于MP3播放器的例子,大都采用vs1003這顆硬件解碼芯片或
者使用AT89C51SND1C這顆含有內(nèi)部音頻解碼電路的NB單片機, 軟件音頻解碼的例子少之又
少。UP MCU 工作室的相關(guān)人員花了些時間、精力,研究了目前 linux 領(lǐng)域很常用的一個開
源音頻解碼庫——libmad 的解碼流程,并將其成功移植到裸奔的 stm32 平臺上。本著資源
共享的奉獻精神,本工作室將移植過程整理成手冊,發(fā)布于網(wǎng)絡(luò),希望對大家有用。
本手冊移植工作所對應(yīng)的軟硬件平臺如下:
操作系統(tǒng):windows XP
開發(fā)環(huán)境:MDK V4.23
STM固件庫版本號:V3.5.0
主芯片 :STM32F103RET6(512K flash 64KRAM)運行于 72M
DA芯片 :PCM1770PW
由于本人水平有限, 文中若有不對的地方,歡迎拍磚。
1.Libmad 簡介
LIBMAD是一個高質(zhì)量的音頻解碼庫,MAD的全稱是MPEG Audio Decoder。LIBMAD 目前
支持MPEG-1、低采樣率的MPEG-2 和 MPEG2.5 格式的LayerⅠ、LayerⅡ、LayerⅢ(即MP3)
的解碼。
MAD 具有如下特性:
●高精度的24-BIT PCM輸出;
●100%使用定點運算;
●完全基于ISO/IEC標(biāo)準(zhǔn);
●支持GNU GPL協(xié)議。
MAD完全采用C語言編寫(里面的 IMDCT部分和乘法運算可根據(jù)平臺不同使用匯編來加
快運算速度),它對MP3解碼算法做了很多優(yōu)化,非常適合在沒有浮點支持的嵌入式環(huán)境下
使用。利用MAD提供的API,我們可以很容易的實現(xiàn)音頻解碼。
完整的pdf格式文檔51黑下載地址(共22頁):
基于stm32的軟件音頻解碼庫libmad移植手冊.pdf
(660.96 KB, 下載次數(shù): 126)
2017-7-27 13:01 上傳
點擊文件名下載附件
|
|