i.MX RT1050 之 NXP EAP 音频处理算法

一、 EAP 简介


NXP 的 Essential Audio Processing (EAP) 库是一组音频处理模块,用于增强音频应用中声音的音调和空间感知。它包括一系列声音处理算法,可以根据用户的应用程序进行调整,以创造高质量的听觉体验。SDK 会提供 EAP 预编译库 libraries,可免费与支持的 NXP 设备一起使用。



图 1. EAP library 框图

EAP 还包含一个图形界面工具(如下图),供用户调整参数和试听音频处理的模拟效果,并根据设置的参数生成 .h 文件,该文件可用于 SDK 相应音频处理例程中。




图 2. EAP 图形界面工具 AudioTuningTool

 

二、 EAP 使用步骤简介


下面以 i.MX RT1050 EVK 为例,介绍 EAP 工具的使用步骤。


2.1
在工具 AudioTuningTool 中设置参数


该工具可在 NXP 官网下载:https://www.nxp.com/webapp/sps/download/license.jsp?colCode=AudioTuningTool&appType=file1&DOWNLOAD_ID=null

下载后会看到一个 AudioTuningTool.exe 文件,双击该文件即可打开工具。



图 3. 下载 AudioTuningTool

该工具的功能主要分为三块,与上方的三个选择栏目对应,如下图,分别是:参数设置、生成 .h 文件、模拟播放。




图 4. 三个选择栏目

先在 EAP Parameters 界面选择对应的 MCU 型号,这里以 i.MX RT1050 为例。




图 5. 选择 MCU 型号

接着继续选择需要的音频处理效果,并设置具体的参数,如下图。




图 6. 设置音频效果

设置过程中也可以到 Simulation and Playback 界面试听当前音效是处理效果,以便于找到合适的参数,如下图。



图 7. 模拟处理效果

设置好各音效的参数后,切换到 Preview header file 界面生成 .h 文件,可以将该文件复制出来备用,这里我们暂存为 EAP_Parameter_Test.h。

注意,这里需要稍微修改几个地方,具体如下:

① 结构体 HeadroomParams_test 的成员 NHeadroomBands 的值需要修改为实际使用的 Band 数量,即数组 EQNB_BandDefs_UserEq1_test[] 的使用项数量,如下图。




图 8. 修改 NHeadroomBands

② 结构体 ControlParamSet_test 的成员 EQNB_NBands 的值需要修改为实际使用的 Band 数量,即数组 HeadroomBandDef_test[] 的使用项数量,如下图。




图 9. 修改 EQNB_NBands

③ 结构体 ControlParamSet_test 的成员 PR_EQNB_NBands 的值需要修改为实际使用的 Band 数量,即数组 EQNB_BandDefs_ProductEq1_test[] 的使用项数量,如下图。




图 10. 修改 PR_EQNB_NBands

以上这几个地方不管是否启用了相应的音效功能,都需要修改。若未修改可能会导致将该 .h 运用到代码中时会报错。

2.2 将生成的 .h 添加到代码中


先导入 SDK 例程 maestro_playback,路径: SDK_2_13_0_MIMXRT1052xxxxB\boards\evkbimxrt1050\audio_examples\maestro_playback

在该工程的 EAP 文件夹下,我们可以看到文件夹 \EAP\Example_Application\CONFIG_HEADER 下有很多类似的 .h 文件,其中还有一个 EAP_Parameter_Custom.h。




图 11. maestro_playback 工程

我们可以直接用前面导出 .h 的参数替换该 Custom 的参数(注意变量名与原 EAP_Parameter_Custom.h 的保持一致);也可以直接添加前面导出的 .h 文件到该文件夹下,然后修改代码调用处。这里我们以后者为例,直接添加 EAP_Parameter_Test.h 到该文件夹下。




图 12. 添加工具生成的 .h 文件

接着修改代码调用处,将默认对 custom 的调用改为我们新添加的 test 的调用,具体如下图。




图 13. 修改代码调用处

现在就可以开始编译下载听效果了。该工程是解码并播放 SD 卡中的音频文件,可通过串口指令控制音频的播放、停止、选择音频处理效果等。这里我们在 SD 中存入了一首 .mp3 文件测试,如下图,接上 EVK 的耳机孔接口 J12 即可听到音频。




图 14. 串口指令

不熟悉指令时可直接发送“help”查看各指令用法及其功能,如下图。



图 15. help 指令

 

 

三、参考资料

(1)EAP 官方介绍和资料下载,网址如下:

https://www.nxp.com/design/design-center/software/embedded-software/essential-audio-processing-library:ESSENTIAL-AUDIO-PROCESS-LIBRARY

(2)SDK 下载,网址如下:

https://mcuxpresso.nxp.com/en/select

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论