自适应陷波啸叫抑制(notch_howling) ========================================= | AD16N 和 AW30N SDK均提供自适应陷波啸叫抑制(notch_howling)音效,该功能由 app_modules_h.c 里的 NOTCH_HOWLING_EN 宏控制开关。 | 自适应陷波抑制啸叫可以抑制改变环路反馈声音的频率,环路反馈一直改变,起到了平衡磨损的作用,防止某个频率一直放大。 ^^^^^^^^^^^^^^^^^^^^ 配置参数说明 ################################ * notch_howling_work_buf:自适应陷波啸叫抑制运算需要的buff 根据配置参数决定buff大小,可通过ops->need_buf()接口获取大小; .. image:: notch_howling_config.png :alt: "图1 自适应陷波啸叫抑制参数配置" :align: center .. centered:: 图1 自适应陷波啸叫抑制参数配置 ^^^^^^^^^^^^^^^^^^^^ 相关函数 ################################ 函数void \*link_notch_howling_sound(void \*p_sound_out, void \*p_dac_cbuf, void \**pp_effect, u32 sr) ************************************************************************************************************** 该函数为串联音频链路的标准接口,实现响应算法的启动,并添加到音频链路上,其中参数: :: 1、p_sound_out:当前算法的前级音频通道句柄; 2、p_dac_cbuf:输出的音频buff; 3、pp_effect:存放当前音效算法控制句柄指针的指针; 4、sr:当前输入音频的采样率; 5、返回值:启动之后最新的音频通道句柄; 函数void \*notch_howling_api(void \*obuf, u32 sr, void \**ppsound) ***************************************************************************** 该函数用于初始化自适应陷波抑制啸叫(notch_howling)的相关参数,由函数link_notch_howling_sound()调用即可,需要关注的其内部参数的初始化: :: 1、gain:陷波器压制程度,该值越大防啸叫效果越好,但发声啸叫频点误检时音质会更差; 2、Q:陷波器带宽,该值越小防啸叫效果越好,但发声啸叫频点误检时音质会更差; 3、fade_time:陷波器启动与释放时间,该值越小启动与释放越快,但可能导致杂音出现和音质变差; 4、threshold:频点啸叫判定阈值,该值越小防啸叫效果越好,但越容易误检; 5、SampleRate:输入音频的采样率;