录音带噪、会议室回音重?用 ffmpeg 给音频降噪、去回声全攻略
下载的视频、自己录的素材,经常伴随嗡嗡底噪、空调声、或者会议室那种闷闷的回音。直接听还行,一带耳机或放大就难受,更别提拿去做字幕识别(噪声会严重干扰识别准确率)。这篇文章把 ffmpeg 的音频降噪工具箱讲透:从最常用频域降噪 afftdn,到神经网络降噪 arnndn,再到去回音、去低频轰鸣的实战,并给出 A/B 对比方法和批量处理脚本。
一、先认清楚噪声类型
不同噪声要用不同武器:
- 宽带噪声:风扇、空调的持续底噪 → 频域降噪(afftdn);
- 稳态嘶嘶声:磁带/老设备 → anlmdn;
- 低频隆隆:电源 hum、麦克风闷罐 → highpass 高通滤掉;
- 房间回音/混响:会议室、空房间 → 去混响(ffmpeg 有限,需专门工具/模型);
- 突发脉冲:咔嗒声 → anlmdn 或手动处理。
二、最常用:afftdn 频域降噪
ffmpeg -i input.mp4 -af "afftdn=nf=-30" -c:v copy output.mp4
nf是降噪强度(单位 dB,负值),-30温和,-40~-50 激进;- 视频流
-c:v copy不动,只改音频; - 处理后再听,人声会变"干净"但也略"薄"。
三、调参前先分离音频做 A/B
降噪容易把人声也削薄,务必先分离试:
ffmpeg -i input.mp4 -vn -acodec copy voice.aac
ffmpeg -i voice.aac -af "afftdn=nf=-25" voice_denoised.aac
戴耳机对比,找到"人声不失真"的最强档位。别一上来就 -50,那样人声会像电话音。
四、anlmdn:非局部均值降噪
适合稳态噪声,对语音保护略好:
ffmpeg -i input.mp4 -af "anlmdn=strength=10" -c:v copy out.mp4
strength 越大去得越狠。和 afftdn 可叠加使用。
五、arnndn:神经网络降噪(效果最好)
ffmpeg 支持加载 .rnn 模型做 RNN 降噪,效果远胜传统滤镜,最接近"AI 降噪":
ffmpeg -i input.mp4 -af "arnndn=m=rnnoise.rnn" -c:v copy out.mp4
rnnoise.rnn 是预训练模型文件(需另行获取,官方仓库有)。注意并非所有发行版自带的 ffmpeg 都编进了 arnndn——可用 ffmpeg -filters | grep arnndn 确认。
六、去低频轰鸣(hum)
电源 hum、低频隆隆用高通滤掉:
ffmpeg -i input.mp4 -af "highpass=f=200" -c:v copy out.mp4
f=200 切掉 200Hz 以下,能明显消除"闷罐感"。要更精细可加 poles=2(二阶)。
七、去回音/混响(难点)
ffmpeg 没有强力的去混响滤镜。可用的近似手段:
highpass=200切低频闷感;afftdn+compand压缩动态让语音更集中;- 真正去混响得上专门工具(Adobe 增强、或 RNNoise 类方案、或 WebRTC 的 AEC 模块)。
ffmpeg -i input.mp4 -af "highpass=f=200,afftdn=nf=-28,compand=0.02:0.05:-60/-40" -c:v copy out.mp4
八、方法对比
| 方法 | 效果 | 成本 | 适用 |
|---|---|---|---|
| afftdn | 中 | 零 | 通用首选 |
| anlmdn | 中 | 零 | 稳态噪声 |
| arnndn | 好 | 需模型 | 接近 AI 降噪 |
| highpass | 针对低频 | 零 | hum/闷罐 |
| 外部 AI 工具 | 最好 | 软件/算力 | 离线隐私差 |
九、批量处理
for f in *.mp4; do
ffmpeg -i "$f" -af "afftdn=nf=-28,highpass=f=150" -c:v copy "clean_${f}"
done
十、常见翻车现场
| 现象 | 根因 | 解法 |
|---|---|---|
| 人声发虚 | 降噪太狠 | 调小 nf 强度 |
| 还有低频轰鸣 | 没切低频 | 加 highpass |
| 处理后爆音 | 动态没压 | 加 alimiter |
| 没这滤镜 | ffmpeg 没编进来 | 换完整版 ffmpeg |
| 回音去不掉 | ffmpeg 能力有限 | 上专门去混响工具 |
十一、常见问题
Q:只降噪不改视频可以吗? 能,-c:v copy 只动音频,画质零损失。
Q:直播能实时降噪吗? 能,OBS 等可挂 RNNoise 插件,原理一样。
Q:降噪能救极烂录音吗? 有限度。底噪能压,但本来就听不清的语音救不回来——源质量决定下限。
Q:会对字幕识别有帮助吗? 非常有帮助,干净音频能显著提升语音识别(Whisper 等)准确率。
小结
音频降噪是"对症下滤镜":宽带噪用 afftdn、稳态用 anlmdn、要最好效果上 arnndn 模型、低频 hum 用 highpass、回音得靠专门工具。永远先做 A/B 再定强度,宁可温和也不要把人声削成电话音。