混响(echo) ========================================= | 混响(echo)音效一般用于普通扩音,可配置干湿音、回声等效果;一般需要与啸叫抑制算法一起使用。 ^^^^^^^^^^^^^^^^^^^^ 1 配置参数说明 ################################ * DOWN_S_FLAG:下采参数 1代表下采,0代表不下采;下采申请的buff会较小,但是回声部分高频会丢失; * echo_work_buf_len:echo运算需要的buff大小 根据是否下采以及输入音频采样率决定,可通过ops-\>need_buf()接口获取大小; .. image:: get_echo_buff_size.png :alt: "图1 echo buff大小获取" :align: center .. centered:: 图1 echo buff大小获取 ^^^^^^^^^^^^^^^^^^^^ 2 相关函数 ################################ 2.1 函数void \*link_echo_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、返回值:启动之后最新的音频通道句柄; 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时不起作用;