4. 均衡器(PCM_EQ)

AD14N / AC104N可以使用杰理EQ 工具进行离线EQ 调试,将需要的频段增益抬高或者压低,使音质感受更佳。

4.1. 1 配置参数说明

  • eq_filt_32000:PCM_EQ处理32K采样率音频的运算数据

    该数据由EQ工具生成,最多可以有10段EQ数据(seg0~seg9),详情请见EQ工具使用说明章节,不同采样率拥有各自的eq_filt表;

  • g_work_buf:PCM_EQ运算需要的buff

    根据EQ使用的频点数(段数)决定buff大小,可通过pcm_eq_buf_len()接口获取大小;

"图1 pcm_eq buff大小获取"

图1 pcm_eq buff大小获取


4.2. 2 相关函数

4.2.2. 2.2 函数void *pcm_eq_api(void *obuf, u32 sr, u32 channel, void **ppsound)

该函数用于初始化PCM_EQ的相关参数,由函数link_pcm_eq_sound()调用即可,需要关注的其内部参数的初始化:

1、nSection:EQ频点数(段数),不可超过各采样率的eq_filt表中的段数,范围[1, 10];
2、channal:陷波器带宽,该值越小防啸叫效果越好,但发声啸叫频点误检时音质会更差;

4.3. 3 EQ工具使用

AD14N / AC104N可以使用杰理EQ工具进行离线EQ调试,调试完成后可以导出当前的EQ配置,并加载到程序中验证效果。

工具下载地址:

"eq_tool_donwload.png"

4.3.1. 3.1 EQ工具使用介绍

1、打开“EQ-3.1.7-beta-20200516.2.exe”工具并选择固件“AC695X”; 2、选择需要的频点数,对于不需要的频点可以点击下方频率行对应跑按钮使其变灰; 3、拉动EQ曲线进行粗调; 4、粗调结束后,可在下方参数框对EQ曲线进行细调,可设置准确的中心频率、增益、Q值以及滤波器类型;

"eq_tool_1.png"

5、EQ调节结束后,点击右边“保存界面参数”按钮对编辑的EQ界面进行保存; 6、保存后,再点击“导出固件配置”按钮,工具根目录会生成新的“hw_eq_table.h”文件;

"eq_tool_2.png"

4.3.2. 3.2 SDK配置说明

1、SDK工程中导入pcm_eq相关文件;

"sdk_use_eq_1.png" "sdk_use_eq_2.png" "sdk_use_eq_3.png"

2、打开pcm_eq_api.c文件,并将EQ工具生成的hw_eq_table.h文件中的eq数据覆盖原本的eq数据;

"sdk_use_eq_4.png"

3、打开pcm_eq_api.c文件,根据EQ工具选择的频点数调整nSection值,并根据buf_size打印调整g_work_buf[]大小;

"sdk_use_eq_5.png"

4、打开decoder_api.c文件,将EQ串入音频解码链路中,运行测试效果;需要注意eq所用的ram是否与其他资源复用了,建议不要同时开启多种音效;

"sdk_use_eq_6.png"