在眾多的恩智浦i.MX RT跨界處理器當中,您可能會發現有些系列除了Arm內核之外還結合了高性能的DSP,利用集成DSP的技術優勢,可提供高性能音頻數字信號處理能力,并包含特定算法操作,可實現完全可編程方法,從而提供最大的靈活性,本篇將介紹適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架(XAF)。
Xtensa音頻框架是一個用來加速開發音頻處理應用程序的框架,恩智浦以及Cadence提供了許多不同的音頻組件(component),程序開發者可以從這林林總總的音頻組件當中直接挑選套用。
下圖中列出了SDK中所包含的各種音頻組件。
下圖中是一個范例,展示了開發者排列組合音頻組件并與之串聯在一起。
接下來,我們通過這個框圖解釋一下在一個完整的音頻處理應用程序當中,Xtensa音頻框架的組成和彼此相對應的關系。
綠色的部分就是所謂的Xtensa音頻框架,其中包含了三個主要的區塊,應用接口層(App Interface Layer)、行程間通訊(IPC)、DSP接口層(DSP Interface Layer),另外要提醒一下,灰色的RTOS和各種的音頻組件,并不屬于Xtensa音頻框架的一部分。
Xtensa音頻框架利用XAF Developer API來創建、配置以及執行音頻組件之間的內存管理,還有音頻組件之間的數據傳輸以及音頻組件的處理調度。Xtensa音頻框架當中的應用接口層負責依據需求創建與維護語音處理串行,行程間通訊(IPC)則負責溝通應用接口層與DSP接口層,而DSP接口層根據從應用接口層所收到的命令,執行具體的音頻處理。
如下圖所示,Xtensa音頻框架當中應用接口層(App Interface Layer)與DSP接口層(DSP Interface Layer)利用進程間通訊(IPC)命令(command)與回復(response)的機制來傳送控制與數據。
接下來提供幾個串聯音頻組件的范例以供參考。
范例一:輸入PCM音頻數據調整訊號大小
范例二:輸入MP3文件并做解碼處理
范例三:解碼兩個MP3文件并做混音處理后輸出
范例四:解碼MP3的同時編碼另一個PCM音頻數據
范例五:實施音頻采樣率轉換
范例六:解碼AAC文件
范例七:解碼MP3并提供給音頻輸出裝置
范例八:從音頻輸入設備獲取PCM音頻數,然后調整信號大小
范例九:解碼Ogg-Vorbis文件
范例十:解碼兩個MP3和一個AAC文件并輸入至混音器,混音器輸出兩個PCM,并分送一個調整信號大小,另一個則實施音頻采樣率轉換。
范例十一:使用渲染器的輸出當成回音消除的輸入或是參考樣本
以上范例可以看出各個音頻組件的種種應用。 另外也別忘了,除了恩智浦和Cadence所提供的音頻組件之外,使用者也能夠自己定義并開發私有的音頻組件,而且所有的這些音頻組件,都能借由Xtensa音頻框架不斷地重復套用。
審核編輯:郭婷
-
dsp
+關注
關注
556文章
8157瀏覽量
357432 -
恩智浦
+關注
關注
14文章
5980瀏覽量
116596
原文標題:適合i.MX RT的Xtensa音頻框架簡介
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何實現安卓與恩智浦i.MX RT1170的無線投屏與控制

i.MX RT系列中FlexSPI DQS信號引腳配置GPIO方法

NXP i.MX RT1060移植TinyUSB:快速擴展大量USB Class示例

如何禁用i.MX RT1170 MCU中的M4內核?
恩智浦推出FRDM i.MX 93開發板
在i.MX RT處理器上使用PXP實現縮放和旋轉組合操作

恩智浦i.MX 94應用處理器如何變革工業和汽車連接
恩智浦i.MX RT700系列MCU的優勢
NXP專為邊緣AI打造的i.MX RT700跨界MCU到底強在哪?

評論