NS(噪声抑制)

支持的芯片

概述

噪声抑制是 AFE 的功能之一,旨在通过抑制环境噪声提升语音质量。该功能可以提高带噪场景的语音识别性能,并改善通信系统的信号质量。

算法说明

模式

AIVoice 中的噪声抑制算法包括信号处理和神经网络方法两种模式,可通过参数 ns_mode 进行配置:

  • 信号处理模式:基于传统信号处理技术,主要针对稳态噪声(如风扇声、白噪声)具有好的抑制效果。默认使用该模式。

  • 神经网络模式:采用深度学习模型,可以额外处理部分非稳态噪声(如敲击声、短暂突发噪声)。仅支持语音通话模式。

开启建议

  • 语音识别场景

    • 由于 NS 模块会对语音造成一定损伤,可能导致唤醒或识别性能下降,默认不开启

    • 当使用场景环境噪声较高或设备本身会发出较大稳态噪声时,可以开启 NS 模块。

  • 语音通话场景

    • 通常情况下(除有特殊需求外),需要开启 NS 模块以确保通话清晰度。

  • 模块开启前后频谱对比如下:

配置

完整的 AFE 配置文件为 ${aivoice_lib_dir}/include/aivoice_afe_config.h,其中 NS 相关配置为:

afe_mode_e afe_mode;                    // AFE 模式,用于 ASR(语音识别)或语音通话。
bool enable_ns;                         // NS(噪声抑制)模块开关

// NS 模块参数
afe_ns_mode_e ns_mode;                  // NS 模式,信号处理或神经网络方法。神经网络方法仅支持语音通话模式
afe_ns_cost_mode_e ns_cost_mode;        // 低资源模式表示单通道降噪,降噪效果比多通道差
afe_ns_aggressive_mode_e ns_aggressive_mode;   // 降噪强度,强度越高稳态噪声抑制越强,但失真也越大