0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式實(shí)驗(yàn)箱:mp3音頻解碼實(shí)驗(yàn)

冬至子 ? 來(lái)源:創(chuàng)龍教儀-木江鵬 ? 作者:創(chuàng)龍教儀-木江鵬 ? 2023-11-03 15:35 ? 次閱讀

一、實(shí)驗(yàn)?zāi)康?/h1>

了解MP3文件的結(jié)構(gòu),掌握MP3音頻解碼的原理,并實(shí)現(xiàn)基于SYSBIOS系統(tǒng),將MP3格式的音頻解碼為PCM格式。

二、實(shí)驗(yàn)原理

1、MP3音頻格式

MP3是一種音頻壓縮技術(shù),其全稱(chēng)是動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面3(Moving Picture Experts Group Audio Layer III),簡(jiǎn)稱(chēng)為MP3。它被設(shè)計(jì)用來(lái)大幅度地降低音頻數(shù)據(jù)量。

利用 MPEG Audio Layer 3 的技術(shù),將音樂(lè)以1:10 甚至 1:12 的壓縮率,壓縮成容量較小的文件,而對(duì)于大多數(shù)用戶來(lái)說(shuō)重放的音質(zhì)與最初的不壓縮音頻相比沒(méi)有明顯的下降。

傳統(tǒng)的MP3算法需要完成大量的高精度浮點(diǎn)計(jì)算,其解碼速度和效率依賴于通用浮點(diǎn)運(yùn)算單元的支持。大部分的專(zhuān)用MP3解碼播放系統(tǒng)均需要使用DSP處理器或浮點(diǎn)協(xié)處理器處理浮點(diǎn)指令并完成高速浮點(diǎn)運(yùn)算過(guò)程。

2、MP3編解碼

MP3音頻壓縮包含編碼和解碼兩部分,編碼是將原始信號(hào)轉(zhuǎn)換成電平信號(hào)的過(guò)程,解碼即是逆過(guò)程,人耳感受聲音的頻率范圍是20Hz-20kHz,MP3截掉了大量的冗余信號(hào)和無(wú)關(guān)的信號(hào),編碼器將原始聲音變換到頻率域,經(jīng)過(guò)量化和編碼形成MP3位流。解碼器要簡(jiǎn)單得多,它的任務(wù)是從編碼后的譜線成分中,經(jīng)過(guò)反量化和逆變換,提取出聲音信號(hào)。

(1)編碼:從信息論的觀點(diǎn)來(lái)看,描述信源的數(shù)據(jù)是信息和數(shù)據(jù)冗余之和,即:數(shù)據(jù)=信息+數(shù)據(jù)冗余。音頻信號(hào)在時(shí)域和頻域上具有相關(guān)性,也即存在數(shù)據(jù)冗余。將音頻作為一個(gè)信源,音頻編碼的實(shí)質(zhì)是減少音頻中的冗余。通常我們采用的是PCM編碼,PCM通過(guò)抽樣、量化、編碼三個(gè)步驟將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。

(2)解碼:編碼的逆過(guò)程,將MP3文件解碼成PCM數(shù)據(jù)流輸出。

3、MP3文件結(jié)構(gòu)

MP3文件數(shù)據(jù)由多個(gè)幀組成,幀是MP3文件最小組成單位。每個(gè)幀又由幀頭、附加信息和聲音數(shù)據(jù)組成。每個(gè)幀播放時(shí)間是0.026秒,其長(zhǎng)度隨位率的不同而不等。有些MP3文件末尾有些額外字節(jié)存放非聲音數(shù)據(jù)的說(shuō)明信息。

MP3文件大體上分為三個(gè)部分:ID3V2+音頻數(shù)據(jù)+ID3V1。

ID3一般位于一個(gè)MP3文件的開(kāi)頭或末尾的若干字節(jié)內(nèi),記錄該MP3文件的歌手、標(biāo)題、專(zhuān)輯名稱(chēng)、年代、風(fēng)格等信息,ID3分為兩個(gè)版本,V1版ID3在文件末尾的固定128字節(jié),以TAG字符開(kāi)頭,若沒(méi)有則認(rèn)為無(wú)ID3V1信息,V2版ID3位于MP3的開(kāi)頭,長(zhǎng)度可變。

image.png

4、音頻數(shù)據(jù)解析

每個(gè)幀都有一個(gè)幀頭,長(zhǎng)度是四個(gè)字節(jié),幀后面可能有2字節(jié)的CRC校驗(yàn),取決于幀頭的第16位,為0則無(wú)校驗(yàn),為1則有校驗(yàn),后面是可變長(zhǎng)度的附加信息,對(duì)于標(biāo)準(zhǔn)的MP3文件來(lái)說(shuō),其長(zhǎng)度是32字節(jié),緊接其后的是壓縮的聲音數(shù)據(jù),當(dāng)解碼器讀到此處時(shí)就進(jìn)行解碼了。

image.png

5、libmp3lame庫(kù)

lame是一個(gè)有名的開(kāi)源MP3編解碼庫(kù),使用lame庫(kù)只需要包含lame.h頭文件。

image.png

6、SYS/BIOS 操作系統(tǒng)

SYS/BIOS 是一個(gè)可擴(kuò)展的實(shí)時(shí)的操作系統(tǒng)(可拓展的實(shí)時(shí)內(nèi)核)。

(1)具有非??焖俚捻憫?yīng)時(shí)間(在中斷和任務(wù)切換時(shí)達(dá)到較短的延遲),響應(yīng)時(shí)間的確定性。

(2)SYS/BIOS提供了搶占式多線程,硬件抽象,實(shí)時(shí)分析和配置工具。

(3)優(yōu)化的內(nèi)存分配和堆棧管理(盡量少的消耗和碎片)。

(4)SYS/BIOS的設(shè)計(jì)是為了最大限度地減少對(duì)內(nèi)存和CPU的要求.

能夠?qū)崿F(xiàn)系統(tǒng)的模塊化并可裁剪。

(5)用于實(shí)時(shí)調(diào)度和同步的應(yīng)用程序或?qū)崟r(shí)的設(shè)備。

TASK任務(wù)

TASK任務(wù)模塊是操作系統(tǒng)中最基本的模塊,每個(gè)任務(wù)是一個(gè)單獨(dú)的線程,各個(gè)線程(任務(wù))具有各自的優(yōu)先級(jí)。SYS/BIOS任務(wù)對(duì)象是被任務(wù)模塊管理的線程。

(1)任務(wù)模塊動(dòng)態(tài)調(diào)度和搶占任務(wù)是基于任務(wù)的優(yōu)先級(jí)和任務(wù)當(dāng)前執(zhí)行的狀態(tài)的。這確保了處理器總是給予最高優(yōu)先級(jí)的線程準(zhǔn)備運(yùn)行。

(2)SYS/BIOS的系統(tǒng)組件可以動(dòng)態(tài)及靜態(tài)創(chuàng)建任務(wù),可以通過(guò)調(diào)用Task_create()動(dòng)態(tài)創(chuàng)建Task對(duì)象,也可以在配置中靜態(tài)創(chuàng)建Task對(duì)象。

(3)動(dòng)態(tài)和靜態(tài)創(chuàng)建任務(wù)的主要區(qū)別是:動(dòng)態(tài)創(chuàng)建的線程可以在運(yùn)行時(shí)刪除,而靜態(tài)創(chuàng)建的任務(wù)占用更少的內(nèi)存資源。

7、程序流程設(shè)計(jì)

程序流程設(shè)計(jì)中首先要進(jìn)行使能SD并配置SD設(shè)備驅(qū)動(dòng),接著初始化SD設(shè)備,檢測(cè)SD卡的狀態(tài),注冊(cè)SD卡的讀寫(xiě)方式,然后在SD卡內(nèi)創(chuàng)建PCM文件,打開(kāi)MP3文件后初始化文件指針到起始點(diǎn),接著初始化解碼器數(shù)據(jù)結(jié)構(gòu)并配置成解碼模式,最后執(zhí)行MP3文件解析,解碼完成后卸載設(shè)備即可。

image.png

三、操作現(xiàn)象

1、實(shí)驗(yàn)設(shè)備

image.png

2、硬件連接

(1)將工程目錄下的song.mp3文件拷貝到SD卡后,把SD卡插入卡槽內(nèi)。

(2)連接仿真器電腦USB接口。

(3)將撥碼開(kāi)關(guān)撥到DEBUG模式01111,連接實(shí)驗(yàn)箱電源,撥動(dòng)電源開(kāi)關(guān)上電。

image.png

3、軟件操作

導(dǎo)入工程,選擇Demo文件夾下的對(duì)應(yīng)工程

編譯工程,生成可執(zhí)行文件

將CCS連接開(kāi)發(fā)板并加載程序

點(diǎn)擊運(yùn)行程序

運(yùn)行程序后,Console 窗口會(huì)打印信息,正在處理音頻數(shù)據(jù)。

大概等待1分鐘,解碼完成。

實(shí)驗(yàn)結(jié)束后,先點(diǎn)擊黃色按鈕暫停程序運(yùn)行,再點(diǎn)擊紅色按鈕退出CCS與實(shí)驗(yàn)板的連接,最后實(shí)驗(yàn)箱斷電即可。

image.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    52

    文章

    8236

    瀏覽量

    146365
  • PCM
    PCM
    +關(guān)注

    關(guān)注

    1

    文章

    195

    瀏覽量

    53227
  • SD卡
    +關(guān)注

    關(guān)注

    2

    文章

    565

    瀏覽量

    63901
  • CRC校驗(yàn)
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    15209
  • 音頻解碼
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    16509
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)字信號(hào)處理實(shí)驗(yàn)操作教程:3-3 mp3音頻編碼實(shí)驗(yàn)(AD7606采集)

    用的MP3屬于有損音樂(lè)壓縮格式。音頻解碼的目的是減少傳輸?shù)男畔⒘亢蜏p少儲(chǔ)存的信息。 MP3音頻
    發(fā)表于 04-03 16:41

    嵌入式操作教程_數(shù)字信號(hào)處理_音頻解碼3-6 AAC音頻解碼實(shí)驗(yàn)

    編碼技術(shù),目的是取代MP3。2000年,MPEG-4標(biāo)準(zhǔn)出臺(tái),AAC重新集成了其它技術(shù)(PS,SBR),為區(qū)別于傳統(tǒng)的MPEG-2 AAC,故含有SBR或PS特性的AAC又稱(chēng)為MPEG-4 AAC
    發(fā)表于 04-11 09:22

    一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    本帖最后由 luna 于 2011-3-3 14:37 編輯 介紹一種基于S3C2410處理器和嵌入式Linux系統(tǒng)的C/S結(jié)構(gòu)音頻點(diǎn)播系統(tǒng),將
    發(fā)表于 03-03 00:32

    STM32-CRK創(chuàng)新實(shí)驗(yàn)平臺(tái)微機(jī)原理 Arduino創(chuàng)新實(shí)驗(yàn)嵌入式實(shí)驗(yàn)

    ,可實(shí)現(xiàn)教學(xué)基本要求。8、基本IO模塊:8路LED指示燈,一個(gè)RGB三色燈,一路DA輸出指示燈,一路電位器,一路蜂鳴器,一路繼電器。滿足基本GPIO的應(yīng)用。。9、MP3模塊:采用VS1053音頻解碼
    發(fā)表于 05-12 15:31

    嵌入式MP3播放器系統(tǒng)由什么組成?

    信息?,F(xiàn)在的數(shù)字音樂(lè)播放器市場(chǎng),采用ARM主控+DSP音頻解碼芯片+SD存儲(chǔ)卡所構(gòu)成的數(shù)字音樂(lè)播放系統(tǒng)具有強(qiáng)大的播放能力和較好的性價(jià)比,在中、高端音頻解碼領(lǐng)域內(nèi)有著較強(qiáng)的生命力。本文針
    發(fā)表于 08-15 08:31

    怎么實(shí)現(xiàn)一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)?

    怎么實(shí)現(xiàn)一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)?
    發(fā)表于 06-07 06:49

    嵌入式教程_教學(xué)實(shí)驗(yàn)實(shí)驗(yàn)操作_音頻處理:3-2 mp3音頻編碼實(shí)驗(yàn)

    編碼為MP3。 2、實(shí)驗(yàn)原理 音頻解碼的主要對(duì)象是音樂(lè)和語(yǔ)音,音頻的編
    發(fā)表于 06-02 16:17

    嵌入式DSP教學(xué)實(shí)驗(yàn)_數(shù)字信號(hào)處理教程:3-5 AAC音頻編碼實(shí)驗(yàn)

    格式。音頻解碼的目的是減少傳輸?shù)男畔⒘亢蜏p少儲(chǔ)存的信息。 音頻解碼格式分類(lèi) AAC高級(jí)音頻解碼
    發(fā)表于 09-05 11:02

    國(guó)產(chǎn)嵌入式教學(xué)實(shí)驗(yàn)_創(chuàng)龍教儀_DSP教學(xué)實(shí)驗(yàn)3-4 mp3音頻解碼實(shí)驗(yàn)

    一、實(shí)驗(yàn)目的 了解MP3文件的結(jié)構(gòu),掌握MP3音頻解碼的原理,并實(shí)現(xiàn)基于SYSBIOS系統(tǒng),將MP3
    發(fā)表于 11-07 13:48

    一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    摘要:介紹一種基于S3C2410處理器和嵌入式Linux系統(tǒng)的C/S結(jié)構(gòu)音頻點(diǎn)播系統(tǒng),將MP3音頻文件集中存儲(chǔ)在網(wǎng)絡(luò)FTP服務(wù)器上或本地U盤(pán)
    發(fā)表于 07-05 14:41 ?37次下載

    嵌入式GPS語(yǔ)音導(dǎo)航系統(tǒng)中MP3解碼與播放

    嵌入式GPS語(yǔ)音導(dǎo)航系統(tǒng)中MP3解碼與播放  0 引言   近年來(lái),電子技術(shù)的迅猛發(fā)展,使得嵌入式系統(tǒng)在越來(lái)越廣泛的領(lǐng)域得到應(yīng)用。嵌入式
    發(fā)表于 12-16 10:17 ?1671次閱讀

    嵌入式MP3解碼研究與優(yōu)化

    分析MP3解碼庫(kù)的解碼流程和數(shù)據(jù)流向,提出了嵌入式MP3解碼研究與優(yōu)化,實(shí)現(xiàn)了
    發(fā)表于 05-26 16:06 ?109次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>MP3</b><b class='flag-5'>解碼</b>研究與優(yōu)化

    基于多任務(wù)嵌入式應(yīng)用的MP3實(shí)時(shí)解碼系統(tǒng)

    關(guān)鍵詞:MP3 , 多任務(wù) , 解碼 , 嵌入式 , 實(shí)時(shí) 1 引 言 MP3是目前世界上流行的音頻格式之一,采用MPEG-1標(biāo)準(zhǔn)的Audi
    發(fā)表于 12-10 15:18 ?644次閱讀

    EFSL嵌入式MP3播放器設(shè)計(jì)原理

    電子發(fā)燒友網(wǎng)站提供《EFSL嵌入式MP3播放器設(shè)計(jì)原理.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 10:44 ?1次下載
    EFSL<b class='flag-5'>嵌入式</b><b class='flag-5'>MP3</b>播放器設(shè)計(jì)原理

    WT2003Hx系列高品質(zhì)語(yǔ)音芯片MP3音頻解碼IC的特征與應(yīng)用優(yōu)勢(shì)

    嵌入式語(yǔ)音領(lǐng)域,WT2003Hx系列高品質(zhì)語(yǔ)音芯片以其卓越的音頻解碼性能脫穎而出。本文將深入研究該系列芯片的特色與應(yīng)用優(yōu)勢(shì),重點(diǎn)關(guān)注其支持wav、Mp3
    的頭像 發(fā)表于 12-15 08:35 ?594次閱讀
    WT2003Hx系列高品質(zhì)語(yǔ)音芯片<b class='flag-5'>MP3</b><b class='flag-5'>音頻</b><b class='flag-5'>解碼</b>IC的特征與應(yīng)用優(yōu)勢(shì)