适用于i.MX RT500和i.MX RT600 MCU的Xtensa音频框架介绍

在众多的恩智浦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音频框架不断地重复套用。


贴片机基本编程元件数据库的建立
实验、三相异步电动机
用AI自动生成嘻哈歌词的队伍获得了“最佳DEMO奖”
工业互联网安全需求
数字验证中Formal Verification在国内的应用以及前景如何?
适用于i.MX RT500和i.MX RT600 MCU的Xtensa音频框架介绍
焊接预热、焊后热处理如何选择合适的电磁感应加热设备?
罗技MK540键鼠套装值不值得购买
2020年液晶显示领域大事记
VA遭受第三方恶意网络攻击,泄露约46000名退伍军人的数据信息
揭示智能化核心技术,工业计算机及嵌入式系统展盛大开幕
一个小型嵌入式操作系统设计:精髓都有了!
具 ±24V 电源及过流保护能力的 5V 系统
腾讯起诉离职员工获赔1940万 创行业最高记录
伪区块链骗局你有中招吗
2GHZ宽频带放大器
Semtech“LoRa生态发展及创新应用论坛”举办 4月11日与你相约深圳
构建一个相对较小的图像识别卷积神经网络
Power Integrations的LED驱动器IC现以超薄封装供货
关于发电机组的选购方法的详细说明