强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

EasyEffects 音频处理教程 / 06 - 噪声门与降噪

06 - 噪声门与降噪

掌握 EasyEffects 中噪声门、RNNoise AI 降噪和噪声抑制的原理与配置,消除各类背景噪声。


6.1 噪声问题概述

在音频处理中,噪声是最常见的问题之一。不同类型的噪声需要不同的处理方式。

噪声分类

噪声类型 来源 特性 典型场景
稳态噪声 风扇、空调、电脑机箱 持续不变 办公室、家庭
脉冲噪声 键盘、鼠标点击 间歇性出现 远程办公、游戏
环境噪声 街道、人群 持续但有变化 咖啡厅、户外
电气噪声 电源嗡嗡声、接地环路 固定频率 老旧设备
电磁干扰 手机、无线设备 随机出现 任何环境

噪声处理工具选择

噪声类型诊断:
├── 持续性稳态噪声(风扇、空调)
│   └── RNNoise AI 降噪 ✅(最佳选择)
├── 间歇性噪声(键盘、偶尔的声响)
│   └── 噪声门 ✅(最佳选择)
├── 两者兼有
│   └── RNNoise + 噪声门组合 ✅
├── 固定频率干扰(50/60Hz 嗡嗡声)
│   └── 陷波滤波器(参见第 4 章)
└── 极端噪声环境
    └── RNNoise + 噪声门 + 压缩器组合

6.2 噪声门(Noise Gate)

噪声门是最基础的噪声抑制工具。当信号电平低于设定阈值时,噪声门关闭(静音);当信号电平高于阈值时,噪声门打开(通过)。

工作原理

输入信号:
  ▃▅▇█▇▅▃  ▁▁▃▅▇█▇▅▃▁▁  ▃▅▇█▇▅▃
  (说话)    (安静+噪声)    (说话)

噪声门阈值: ───────────────────────── (如 -40 dB)

噪声门状态:
  [ 开 ]    [  关  ]    [ 开 ]

输出信号:
  ▃▅▇█▇▅▃   静音        ▃▅▇█▇▅▃
  (说话)    (噪声被消除)   (说话)

添加噪声门

  1. 在输入效果页面点击 「+ 添加效果」
  2. 搜索 「噪声门」「Gate」
  3. 点击添加

界面与参数

┌──────────────────────────────────────────────────────────┐
│  噪声门 (Gate)                               [开关: ON]   │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  ┌─── 信号电平 ────────────────────────────────────────┐ │
│  │  输入:   ▇▇▇▅▃▁                        -35.2 dB    │ │
│  │  输出:   ▇▇▇▅▃▁                        -35.2 dB    │ │
│  │  门状态: ████████▁▁▁▁▁▁▁▁████████                  │ │
│  └────────────────────────────────────────────────────┘ │
│                                                          │
│  阈值 (Threshold):           [-40.0 dB]                 │
│  迟滞 (Hysteresis):          [-6.0 dB]                  │
│  启动时间 (Attack):          [20 ms]                    │
│  保持时间 (Hold):            [200 ms]                   │
│  释放时间 (Release):         [400 ms]                   │
│  范围 (Range):               [-60.0 dB]                 │
│                                                          │
│  侧链输入: [本通道 ▼]                                    │
│  侧链滤波器:                                             │
│    类型: [关闭 ▼]  频率: [1000 Hz]  Q: [1.0]             │
│                                                          │
└──────────────────────────────────────────────────────────┘

核心参数详解

阈值(Threshold)

阈值 效果 适用场景
-20 dB 只对很响的信号开门 安静环境,强信号
-30 dB 适中的门控 一般录音环境
-40 dB 敏感的门控 较吵的环境
-50 dB 非常敏感 很吵的环境,但可能误触发

设置方法:

  1. 先保持安静,观察输入电平(噪声电平)
  2. 将阈值设在噪声电平之上 3-6 dB
  3. 说话测试,确认门能正常开启
噪声电平: -50 dB
阈值建议: -44 ~ -47 dB

迟滞(Hysteresis)

迟滞防止噪声门在阈值附近反复开关(“抖动”)。

无迟滞:                       有迟滞:
信号在阈值附近波动             开门阈值和关门阈值不同
     │  │  │  │                 │
门: 开关开关开关              门: 开────────关
     ↑ 不稳定                   ↑ 稳定
迟滞值 效果
-3 dB 较小的迟滞窗口
-6 dB 适中的迟滞(推荐)
-10 dB 较大的迟滞窗口

启动时间(Attack)

信号超过阈值后,门从关闭到完全打开的时间。

启动时间 效果 适用场景
0.1-5 ms 极快开启 打击乐器
5-50 ms 快速开启 语音(推荐)
50-100 ms 较慢开启 避免"切头"

提示: 启动时间太短可能导致"咔嗒"声(Click),太长可能"切掉"语音的起始部分。

保持时间(Hold)

信号低于阈值后,门保持开启状态的时间。

保持时间 效果
0-100 ms 门迅速关闭
100-500 ms 适中保持(推荐)
500ms-1s 较长保持

作用: 在句子中间的短暂停顿期间,保持门开启,避免句子中间出现"断裂"。

释放时间(Release)

门从开启到完全关闭的过渡时间。

释放时间 效果
50-200 ms 快速关闭
200-500 ms 平滑关闭(推荐)
500ms-1s 缓慢关闭

提示: 释放时间太短会导致语音尾部被"切掉",太长会让噪声在语音结束后继续通过。

范围(Range)

门关闭时信号衰减的幅度。

范围值 效果
-60 dB 完全静音(推荐)
-30 dB 大幅衰减但不完全静音
-10 dB 轻微衰减

6.3 噪声门最佳配置

语音通话噪声门

阈值:      -40 dB
迟滞:      -6 dB
启动时间:  10 ms
保持时间:  300 ms
释放时间:  300 ms
范围:      -60 dB

场景: 在线会议、语音通话。消除键盘声和环境噪声,但说话时门迅速开启。

播客录音噪声门

阈值:      -45 dB
迟滞:      -6 dB
启动时间:  5 ms
保持时间:  500 ms
释放时间:  500 ms
范围:      -60 dB

场景: 播客录音。保持时间和释放时间较长,确保语音的自然过渡。

直播噪声门

阈值:      -35 dB
迟滞:      -8 dB
启动时间:  5 ms
保持时间:  200 ms
释放时间:  200 ms
范围:      -60 dB

场景: 游戏直播。阈值相对较高,只消除安静间隙的噪声。


6.4 侧链滤波器

侧链滤波器允许你对噪声门的检测信号进行频率过滤,使门只响应特定频率的信号。

工作原理

                    ┌─── 侧链路径 ────────┐
                    │                     │
输入信号 ──────┤  带通滤波器     门控检测 ──┐
                    │  (只听特定频率)      │    │
                    └─────────────────────┘    │
                    ┌─────────────────────────────┐
                    │      噪声门(门控信号)       │
                    └─────────────────────────────┘

应用场景

场景 侧链滤波器设置 说明
人声门控 带通 300-3000 Hz 只响应人声频率范围
鼓声门控 带通 60-200 Hz 只响应踢鼓/低鼓
防止键盘触发 高通 200 Hz 忽略键盘的高频噪声

人声侧链配置示例

侧链滤波器:
  类型: 带通 (Band Pass)
  低频截止: 300 Hz
  高频截止: 3000 Hz
  Q 值: 0.7

效果: 噪声门只"听" 300-3000 Hz 频率范围内的信号来判断开门/关门。键盘声(高频为主)不会触发开门,只有人声(中频为主)才能开门。


6.5 RNNoise AI 降噪

RNNoise 是基于深度学习的噪声抑制技术,由 Mozilla 开发。它能智能识别和消除背景噪声,保留人声。

工作原理

┌──────────────────────────────────────────────────┐
│              RNNoise 处理流程                      │
│                                                  │
│  输入音频 ──▶ 频谱分析 ──▶ 神经网络推理 ──▶ 输出音频│
│              (STFT)      (判断噪声/人声)   (IFST) │
│                                                  │
│  ┌─────────────────────────────────────────┐     │
│  │ 神经网络 (RNN):                          │     │
│  │                                         │     │
│  │ 频谱帧 ──▶ 特征提取 ──▶ GRU 层 ──▶ 掩码 │     │
│  │                                    │    │     │
│  │              ┌──────────────────────┘    │     │
│  │              ▼                           │     │
│  │         输出掩码 × 输入频谱 = 降噪频谱     │     │
│  └─────────────────────────────────────────┘     │
└──────────────────────────────────────────────────┘

添加 RNNoise

EasyEffects 内置 RNNoise 降噪效果器:

  1. 输入效果页面点击 「+ 添加效果」
  2. 搜索 「RNNoise」「降噪」
  3. 点击添加

RNNoise 界面

┌──────────────────────────────────────────────────────────┐
│  RNNoise 降噪 (Deep Noise Remover)           [开关: ON]   │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  ┌─── 信号可视化 ──────────────────────────────────────┐ │
│  │  输入:  ▇▇▇▇▇▅▃▁                      -15.3 dB    │ │
│  │  输出:  ▇▇▇▇▅▃▁                       -17.8 dB    │ │
│  │  噪声:  ▁▁▁▁▁▁▁▁                       -60.0 dB    │ │
│  └────────────────────────────────────────────────────┘ │
│                                                          │
│  降噪级别 (Amount):      [0.50]                          │
│  延迟 (Latency):         [10 ms]                        │
│  模型:                   [标准 ▼]                        │
│                                                          │
└──────────────────────────────────────────────────────────┘

参数说明

参数 说明 范围 建议值
降噪级别 降噪的强度 0.0 ~ 1.0 0.3 ~ 0.7
延迟 处理延迟 自动 不可调

降噪级别选择

级别 效果 适用场景
0.1-0.3 轻微降噪 安静环境,微调
0.3-0.5 中等降噪 一般办公环境(推荐)
0.5-0.7 强降噪 较吵的环境
0.7-1.0 极强降噪 极端噪声环境

注意: 降噪级别过高(>0.7)可能导致人声出现"水下"效果或金属感。建议从 0.5 开始调整。

RNNoise 的优势与局限

优势 局限
智能识别噪声和人声 CPU 占用较高
无需手动调参 可能引入伪影(artifact)
对稳态噪声效果极好 对突发噪声效果有限
实时处理 对音乐信号可能损失细节
开源免费 模型针对语音优化

6.6 RNNoise 预训练模型

RNNoise 使用预训练模型来识别噪声。默认模型已能处理大多数场景,但社区也提供了一些专用模型。

默认模型

EasyEffects 内置的 RNNoise 模型基于大量语音数据训练,适合一般噪声环境。

社区模型

一些社区成员训练了专用模型:

模型 特点 适用场景
标准模型 通用降噪 大多数场景
高保真模型 保留更多细节 音乐相关
强降噪模型 更激进的降噪 极端噪声

替换模型文件

# Flatpak 版模型位置
~/.var/app/com.github.wwmm.easyeffects/config/easyeffects/rnnoise/

# 原生版模型位置
~/.config/easyeffects/rnnoise/

# 下载社区模型
wget https://github.com/werman/noise-suppression-for-voice/releases/latest/download/rnnoise-linux-amd64.zip
unzip rnnoise-linux-amd64.zip -d ~/.config/easyeffects/rnnoise/

6.7 其他降噪工具

LSP 噪声抑制器

LSP 插件包提供了专业的噪声抑制器:

# 安装 LSP 插件
# Fedora
sudo dnf install lsp-plugins

# Ubuntu
sudo apt install lsp-plugins-ladspa

在 EasyEffects 中搜索 「LSP」 可找到其提供的效果器。

Speex 降噪

Speex 是一个开源的语音编解码器,内置噪声抑制功能。部分 EasyEffects 版本通过 GStreamer 集成了 Speex 降噪。


6.8 降噪组合方案

轻度噪声环境

输入效果链:
  RNNoise (降噪级别: 0.3)

中度噪声环境

输入效果链:
  ① RNNoise (降噪级别: 0.5)
  ② 噪声门 (阈值: -40 dB)

重度噪声环境

输入效果链:
  ① RNNoise (降噪级别: 0.7)
  ② 噪声门 (阈值: -35 dB, 侧链: 人声带通)
  ③ 压缩器 (阈值: -20 dB, 比率: 4:1)
  ④ 限制器 (阈值: -1 dB)

噪声门与 RNNoise 的配合

                ┌──────────────────────────────────────┐
                │          处理流程                      │
                │                                      │
原始信号 ──▶ [RNNoise] ──▶ [噪声门] ──▶ 输出
                │              │
                │              └── 先降噪,再门控
                │                  RNNoise 去除持续噪声
                │                  噪声门消除静默间隙
                └──────────────────────────────────────┘

为什么先降噪再门控?

  1. RNNoise 降低持续性噪声的电平
  2. 降噪后,噪声电平更接近安静环境
  3. 噪声门可以设置更低的阈值
  4. 避免噪声门被降噪前的高噪声电平持续开启

6.9 降噪效果评估

主观评估方法

  1. A/B 对比: 开关降噪效果器,对比听感
  2. 噪声残留: 安静时是否能听到残余噪声
  3. 人声质量: 人声是否自然,有无伪影
  4. 频谱检查: 使用频谱分析仪检查降噪效果

常见问题诊断

问题 可能原因 解决方案
人声有"水下"效果 RNNoise 级别过高 降低降噪级别到 0.3-0.5
语音被切断 噪声门阈值过高 降低阈值或增大保持时间
仍有背景噪声残留 降噪级别不够 适当提高级别或叠加噪声门
语音出现金属感 RNNoise 过度处理 降低级别或更换模型
键盘声仍然通过 未配置侧链滤波器 添加人声带通侧链滤波器
语音开头被切掉 噪声门启动时间太短 增大启动时间

6.10 实战:消除键盘声

键盘声是远程办公中最常见的噪声问题。以下是完整的处理方案:

方案一:噪声门 + 侧链滤波器

输入效果链:
  ① RNNoise (降噪级别: 0.4)
  ② 噪声门:
     阈值:     -38 dB
     迟滞:     -6 dB
     启动时间: 5 ms
     保持时间: 400 ms
     释放时间: 300 ms
     侧链滤波:
       类型: 带通
       低频: 300 Hz
       高频: 3000 Hz
       Q: 0.7

原理: 侧链滤波器让噪声门只"听" 300-3000 Hz 的人声频率。键盘声主要是高频(2-8 kHz),不会触发噪声门开启。

方案二:仅 RNNoise

输入效果链:
  ① RNNoise (降噪级别: 0.6)

原理: RNNoise 的神经网络能识别键盘声为噪声并消除。对于机械键盘效果较好,但薄膜键盘效果可能有限。


6.11 要点回顾

  • 噪声门用于消除间歇性噪声,RNNoise 用于消除持续性噪声
  • 噪声门的阈值应设在噪声电平之上 3-6 dB
  • 侧链滤波器可让噪声门只响应特定频率
  • RNNoise 降噪级别建议从 0.5 开始,避免过度处理
  • 推荐先降噪(RNNoise)再门控(噪声门)
  • 键盘声可通过侧链滤波器 + 噪声门组合消除

6.12 注意事项

过度降噪: RNNoise 级别过高会让人声出现伪影(“水下"效果、金属感)。建议在 0.3-0.5 范围内调整。

模型局限: RNNoise 针对语音优化,对音乐信号可能损失细节。不建议对音乐播放使用 RNNoise。

噪声门的"切头”: 如果说话的第一个字被切掉,说明启动时间太短或阈值太高。适当增大启动时间或降低阈值。

CPU 占用: RNNoise 基于深度学习推理,CPU 占用不可忽略。在低性能设备上可能影响其他任务。


6.13 扩展阅读