0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

恩智浦MCU加油站 来源:恩智浦MCU加油站 作者:恩智浦MCU加油站 2022-11-10 09:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在众多的恩智浦i.MX RT跨界处理器当中,您可能会发现有些系列除了Arm内核之外还结合了高性能的DSP,利用集成DSP的技术优势,可提供高性能音频数字信号处理能力,并包含特定算法操作,可实现完全可编程方法,从而提供最大的灵活性,本篇将介绍适用于i.MX RT500和i.MX RT600 MCU的Xtensa音频框架(XAF)。

Xtensa音频框架是一个用来加速开发音频处理应用程序的框架,恩智浦以及Cadence提供了许多不同的音频组件(component),程序开发者可以从这林林总总的音频组件当中直接挑选套用。

下图中列出了SDK中所包含的各种音频组件。

8fc8a464-6090-11ed-8abf-dac502259ad0.png

9229175c-6090-11ed-8abf-dac502259ad0.png

下图中是一个范例,展示了开发者排列组合音频组件并与之串联在一起。

92c3aa88-6090-11ed-8abf-dac502259ad0.png

接下来,我们通过这个框图解释一下在一个完整的音频处理应用程序当中,Xtensa音频框架的组成和彼此相对应的关系。

92e9eb94-6090-11ed-8abf-dac502259ad0.png

绿色的部分就是所谓的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)的机制来传送控制与数据。

931a753e-6090-11ed-8abf-dac502259ad0.png

接下来提供几个串联音频组件的范例以供参考。

范例一:输入PCM音频数据调整讯号大小

93314278-6090-11ed-8abf-dac502259ad0.png

范例二:输入MP3文件并做解码处理

93565cd4-6090-11ed-8abf-dac502259ad0.png

范例三:解码两个MP3文件并做混音处理后输出

938464f8-6090-11ed-8abf-dac502259ad0.png

范例四:解码MP3的同时编码另一个PCM音频数据

93a2d6ae-6090-11ed-8abf-dac502259ad0.png

范例五:实施音频采样率转换

93bffd74-6090-11ed-8abf-dac502259ad0.png

范例六:解码AAC文件

93cc5704-6090-11ed-8abf-dac502259ad0.png

范例七:解码MP3并提供给音频输出装置

93f7b52a-6090-11ed-8abf-dac502259ad0.png

范例八:从音频输入设备获取PCM音频数,然后调整信号大小

9414950a-6090-11ed-8abf-dac502259ad0.png

范例九:解码Ogg-Vorbis文件

943503f8-6090-11ed-8abf-dac502259ad0.png

范例十:解码两个MP3和一个AAC文件并输入至混音器,混音器输出两个PCM,并分送一个调整信号大小,另一个则实施音频采样率转换。

94518cee-6090-11ed-8abf-dac502259ad0.png

范例十一:使用渲染器的输出当成回音消除的输入或是参考样本

94723dae-6090-11ed-8abf-dac502259ad0.png

以上范例可以看出各个音频组件的种种应用。 另外也别忘了,除了恩智浦和Cadence所提供的音频组件之外,使用者也能够自己定义并开发私有的音频组件,而且所有的这些音频组件,都能借由Xtensa音频框架不断地重复套用。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    559

    文章

    8214

    浏览量

    363972
  • 恩智浦
    +关注

    关注

    14

    文章

    6051

    浏览量

    134471

原文标题:适合i.MX RT的Xtensa音频框架简介

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    i.MX RT1180实现EtherCAT+伺服控制的终极实践

    今天继续为大家介绍i.MX RT1180实现EtherCAT+伺服控制的终极实践:双电机控制与Ethercat资源使用。
    的头像 发表于 11-26 08:19 2374次阅读
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1180实现EtherCAT+伺服控制的终极实践

    使用恩智浦i.MX RT700跨界MCU打造智能手表

    智能手表已经成为我们生活中不可或缺的可穿戴设备。随着技术和市场的演进,如今的智能手表功能越来越丰富,而用户对其续航能力的期望也越来越高。应对这一挑战,恩智浦专为可穿戴、消费级医疗、智能家居和HMI设备而设计的i.MX RT700跨界MC
    的头像 发表于 10-27 09:33 800次阅读

    恩智浦i.MX RT1180跨界MCU助力下一代伺服控制系统

    今天我们将聚焦一项正在重塑工业自动化边界的技术组合 —— 基于NXP的i.MX RT1180微控制器,实现EtherCAT通信与高性能伺服控制的融合方案。
    的头像 发表于 09-28 14:16 4263次阅读
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1180跨界<b class='flag-5'>MCU</b>助力下一代伺服控制系统

    恩智浦i.MX RT1180跨界处理器如何选型

    i.MX RT1180 跨界处理器包含众多的型号,以满足客户对不同性能与价格的需求,今天就先给大家说说如何选型。
    的头像 发表于 09-28 14:01 2021次阅读
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1180跨界处理器如何选型

    恩智浦MCU方案 单颗i.MX RT1180实现EtherCAT+伺服控制

    介绍基于单颗i.MX RT1180芯片的EtherCAT+伺服电机控制方案-伺服控制板硬件电路资源介绍,即为下图中的Servo Motor Driver Board。
    的头像 发表于 09-11 14:27 5.1w次阅读
    恩智浦<b class='flag-5'>MCU</b>方案 单颗<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1180实现EtherCAT+伺服控制

    基于恩智浦i.MX RT芯片内部RAM运行LVGL工程

    随着越来越多用户选择i.MX RT系列芯片制作产品,产品的需求以及芯片的用法也越来越多。本文将介绍i.MX RT平台中,如何创建LVGL项
    的头像 发表于 07-01 09:33 2195次阅读
    基于恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>芯片内部RAM运行LVGL工程

    如何实现安卓与恩智浦i.MX RT1170的无线投屏与控制

    Scrcpy是一款免费开源的软件,支持将安卓端屏幕投影到其他设备,并支持被投屏设备对安卓的反向控制。基于ADB工具,安卓端无需安装任何软件,延迟低,稳定性好。现在,安卓也可投屏到恩智浦i.MX RT1170上。
    的头像 发表于 06-26 09:53 1937次阅读
    如何实现安卓与恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170的无线投屏与控制

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

    i.MX RT060项目(采用QSPI Flash)的实际应用中,有客户反馈,其在设计阶段并未预留DQS信号引脚,而是将该引脚作为GPIO用于控制关键外设的开关,这导致程序无法正常运行。在此背景下
    的头像 发表于 06-16 11:30 1270次阅读
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>系列中FlexSPI DQS信号引脚配置GPIO方法

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

    前言   为啥是TinyUSB?给强大的RT配个轻巧的USB栈! USB这个让我们方便快捷的接口,几乎无处不在。在嵌入式世界里,尤其是用上了像NXP i.MX RT这样性能强劲的跨界MCU
    的头像 发表于 05-15 09:25 2192次阅读
    NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1060移植TinyUSB:快速扩展大量USB Class示例

    TPS6521825 适用于 NXP i.MX 8M mini 的电源管理 IC数据手册

    TPS6521825 是一款单芯片电源管理 IC (PMIC),专门用于支持 i.MX 8M Mini 处理器和 LP873347 器件。该器件的额定温度范围为 –40°C 至 +105°C,适用于各种工业应用。
    的头像 发表于 05-04 10:44 553次阅读
    TPS6521825 <b class='flag-5'>适用于</b> NXP <b class='flag-5'>i.MX</b> 8M mini 的电源管理 IC数据手册

    如何禁用i.MX RT1170 MCU中的M4内核?

    如何禁用 i.MX RT1170 MCU 中的 M4 内核? 您能否提供具体的可行方法? 或者是否可以将内核的工作时钟频率降低到 0 ?
    发表于 04-09 07:28

    恩智浦推出FRDM i.MX 93开发板

    备受嵌入式开发者青睐的恩智浦FRDM开发平台,迎来了一位新成员——FRDM i.MX 93开发板,这也是第一块配备i.MX MPU的FRDM开发板,意味着强大的FRDM生态合作体系,已经扩展到i.MX应用处理器。
    的头像 发表于 02-21 14:22 2915次阅读

    i.MX RT处理器上使用PXP实现缩放和旋转组合操作

    本文主要探讨如何使用PXP实现缩放和旋转组合操作,PXP是NXP推出的一个2D图形加速器,主要完成对图像的数据格式转换、固定角度旋转(90°,180°,270°),任意比例缩放、混色,移位以及翻转等功能。运行平台为i.MX RT1170/1160/1060/1050/10
    的头像 发表于 02-20 10:53 1571次阅读
    在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>处理器上使用PXP实现缩放和旋转组合操作

    恩智浦i.MX 94应用处理器如何变革工业和汽车连接

    恩智浦半导体发布i.MX 94系列应用处理器,为工业和汽车连接设定了新的标准。作为i.MX 9系列应用处理器的最新成员,i.MX 94旨在提供高性能和低延迟的实时计算能力,这是工业自动化和汽车信息服务应用的关键功能。
    的头像 发表于 01-17 10:51 1537次阅读

    恩智浦i.MX RT700系列MCU的优势

    作为边缘智能时代的嵌入式工程师,你对一款理想的MCU有何期待?高性能、高集成、低功耗、更安全,以及出众的AI推理能力……恩智浦半导体新近发布的i.MX RT700跨界MCU系列,就是你
    的头像 发表于 12-09 09:16 2939次阅读