在眾多的恩智浦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
+關注
關注
561文章
8244瀏覽量
366629 -
恩智浦
+關注
關注
14文章
6095瀏覽量
147279
原文標題:適合i.MX RT的Xtensa音頻框架簡介
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
恩智浦PCA9422高集成度電源管理芯片產品介紹
探索NXP EdgeReady智能HMI解決方案:i.MX RT117H的無限可能
基于i.MX RT106V跨界MCU的智能語音UI邊緣就緒解決方案
探索NXP i.MX 93應用處理器家族:高效邊緣計算的理想之選
探索i.MX RT1180:高性能處理器的技術剖析與應用指南
FRDM i.MX 9平臺選型指南:FRDM i.MX 9系列開發平臺解析
使用恩智浦i.MX RT700跨界MCU打造智能手表
恩智浦i.MX RT1180跨界MCU助力下一代伺服控制系統
恩智浦MCU方案 單顆i.MX RT1180實現EtherCAT+伺服控制
如何實現安卓與恩智浦i.MX RT1170的無線投屏與控制
i.MX RT系列中FlexSPI DQS信號引腳配置GPIO方法
適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架介紹
評論