在眾多的恩智浦i.MX RT跨界處理器當(dāng)中,您可能會發(fā)現(xiàn)有些系列除了Arm內(nèi)核之外還結(jié)合了高性能的DSP,利用集成DSP的技術(shù)優(yōu)勢,可提供高性能音頻數(shù)字信號處理能力,并包含特定算法操作,可實現(xiàn)完全可編程方法,從而提供最大的靈活性,本篇將介紹適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架(XAF)。
Xtensa音頻框架是一個用來加速開發(fā)音頻處理應(yīng)用程序的框架,恩智浦以及Cadence提供了許多不同的音頻組件(component),程序開發(fā)者可以從這林林總總的音頻組件當(dāng)中直接挑選套用。
下圖中列出了SDK中所包含的各種音頻組件。


下圖中是一個范例,展示了開發(fā)者排列組合音頻組件并與之串聯(lián)在一起。

接下來,我們通過這個框圖解釋一下在一個完整的音頻處理應(yīng)用程序當(dāng)中,Xtensa音頻框架的組成和彼此相對應(yīng)的關(guān)系。

綠色的部分就是所謂的Xtensa音頻框架,其中包含了三個主要的區(qū)塊,應(yīng)用接口層(App Interface Layer)、行程間通訊(IPC)、DSP接口層(DSP Interface Layer),另外要提醒一下,灰色的RTOS和各種的音頻組件,并不屬于Xtensa音頻框架的一部分。
Xtensa音頻框架利用XAF Developer API來創(chuàng)建、配置以及執(zhí)行音頻組件之間的內(nèi)存管理,還有音頻組件之間的數(shù)據(jù)傳輸以及音頻組件的處理調(diào)度。Xtensa音頻框架當(dāng)中的應(yīng)用接口層負(fù)責(zé)依據(jù)需求創(chuàng)建與維護(hù)語音處理串行,行程間通訊(IPC)則負(fù)責(zé)溝通應(yīng)用接口層與DSP接口層,而DSP接口層根據(jù)從應(yīng)用接口層所收到的命令,執(zhí)行具體的音頻處理。
如下圖所示,Xtensa音頻框架當(dāng)中應(yīng)用接口層(App Interface Layer)與DSP接口層(DSP Interface Layer)利用進(jìn)程間通訊(IPC)命令(command)與回復(fù)(response)的機(jī)制來傳送控制與數(shù)據(jù)。

接下來提供幾個串聯(lián)音頻組件的范例以供參考。
范例一:輸入PCM音頻數(shù)據(jù)調(diào)整訊號大小

范例二:輸入MP3文件并做解碼處理

范例三:解碼兩個MP3文件并做混音處理后輸出

范例四:解碼MP3的同時編碼另一個PCM音頻數(shù)據(jù)

范例五:實施音頻采樣率轉(zhuǎn)換

范例六:解碼AAC文件

范例七:解碼MP3并提供給音頻輸出裝置

范例八:從音頻輸入設(shè)備獲取PCM音頻數(shù),然后調(diào)整信號大小

范例九:解碼Ogg-Vorbis文件

范例十:解碼兩個MP3和一個AAC文件并輸入至混音器,混音器輸出兩個PCM,并分送一個調(diào)整信號大小,另一個則實施音頻采樣率轉(zhuǎn)換。

范例十一:使用渲染器的輸出當(dāng)成回音消除的輸入或是參考樣本

以上范例可以看出各個音頻組件的種種應(yīng)用。 另外也別忘了,除了恩智浦和Cadence所提供的音頻組件之外,使用者也能夠自己定義并開發(fā)私有的音頻組件,而且所有的這些音頻組件,都能借由Xtensa音頻框架不斷地重復(fù)套用。
審核編輯:郭婷
-
dsp
+關(guān)注
關(guān)注
559文章
8220瀏覽量
364367 -
恩智浦
+關(guān)注
關(guān)注
14文章
6060瀏覽量
136644
原文標(biāo)題:適合i.MX RT的Xtensa音頻框架簡介
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
FRDM i.MX 9平臺選型指南:FRDM i.MX 9系列開發(fā)平臺解析
i.MX RT1180實現(xiàn)EtherCAT+伺服控制的終極實踐
使用恩智浦i.MX RT700跨界MCU打造智能手表
恩智浦i.MX RT1180跨界MCU助力下一代伺服控制系統(tǒng)
恩智浦MCU方案 單顆i.MX RT1180實現(xiàn)EtherCAT+伺服控制
基于恩智浦i.MX RT芯片內(nèi)部RAM運(yùn)行LVGL工程
如何實現(xiàn)安卓與恩智浦i.MX RT1170的無線投屏與控制
i.MX RT系列中FlexSPI DQS信號引腳配置GPIO方法
NXP i.MX RT1060移植TinyUSB:快速擴(kuò)展大量USB Class示例
TPS6521825 適用于 NXP i.MX 8M mini 的電源管理 IC數(shù)據(jù)手冊
如何禁用i.MX RT1170 MCU中的M4內(nèi)核?
恩智浦推出FRDM i.MX 93開發(fā)板
在i.MX RT處理器上使用PXP實現(xiàn)縮放和旋轉(zhuǎn)組合操作

適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架介紹
評論