2. 混响音效(echo)

AD16N 和 AW30N SDK均提供混响(echo)音效,该功能由 app_modules_h.c 里的 ECHO_EN 宏控制开关。
混响(echo)音效一般用于普通扩音,可配置干湿音、回声等效果;一般需要与啸叫抑制算法一起使用。

2.1. 配置参数说明

  • DOWN_S_FLAG:下采参数

    1代表下采,0代表不下采;下采申请的buff会较小,但是回声部分高频会丢失;

"图1 下采参数"

图1 下采参数

  • buf_len:echo运算需要的buff大小

    根据是否下采以及输入音频采样率决定,可通过ops->need_buf()接口获取大小;

"图2 echo buff大小获取"

图2 echo buff大小获取

  • echo相关参数配置

"图3 echo 参数配置"

图3 echo 参数配置


2.2. 混响音效相关函数

2.2.2. 函数void *echo_api(void *obuf, u32 sr, void **ppsound)

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

1、decayval:回升衰减比,范围:0~70;
2、delay:回声延时,范围:0~max_ms,超过max_ms会当场max_ms;
3、energy_vad_threshold:mute阈值,默认值为512;低于该能量值的声音输出静音; 扩音方案中可以用该方式降低底噪;
4、direct_sound_enable:干声叠加使能位;
5、max_ms:最大回声延时时间,最大值为100;
6、sr:输入音频的采样率,支持16K / 24K,会影响混响算法运算buff的大小;
7、wetgain:湿声增益,默认为3000;
8、drygain:干声增益,默认为4096,干声叠加使能为0时不起作用;