一、 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 官方介绍和资料下载,网址如下:
(2)SDK 下载,网址如下:
评论