Skills

Audio Denoise

音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。...

Install

npx skills add ZJU-REAL/Easel --skill audio-denoise -g -a claude-code -y
Repository
ZJU-REAL/Easel4.3k
Category
Media
Updated
3d ago
License
Apache-2.0
Context cost
Lightabout 695 tokens
Runs scripts
No, instructions only

What it does

音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。 当用户说"降噪""去噪""去杂音""消除背景噪声""电流声""风噪""录音有杂音""音频降噪"时使用。 和 audio-editing 的区别:audio-editing 做剪辑/转码/音量等通用音频操作(内置 denoise 兜底),本 SKILL 专做降噪调参。

音频降噪

清理录音中的背景噪声。降噪专项 SKILL, , 通过共享脚本 skills/shared/scripts/audio_ops.py denoise 封装 ffmpeg 降噪滤镜,提供三级方案(从基础滤波到 RNN 神经网络),参数确定、可复现,不现场手拼命令。

通用音频操作(裁剪/转码/音量/提取/拼接/淡入淡出/变速)见 audio-editing。本 SKILL 专注降噪。

输入

字段必填说明
input_file是音频或视频文件路径
tier否1 / 2 / 3(默认 2)
output_file否默认 outputs/主题名/{filename}-clean.{ext}
mix否降噪强度 0.0-1.0(默认 0.8,仅 tier3 RNNoise)
preserve_original否保留原始文件(默认 true)

支持格式:wav, mp3, flac, aac, m4a, mp4, mkv, mov。

输出

  • 降噪后的音频文件(放入 outputs/主题名/)
  • 处理报告:原始文件信息、所用 tier 与滤镜链、输出文件信息、大小对比

三级降噪方案(对应脚本 --tier)

脚本按 tier 自动选滤镜链并打印实际执行的 ffmpeg 命令。

Tier 1, 基础降噪(ffmpeg 内置滤波)

切除低频隆隆声、高频嘶嘶声 + FFT 降噪,纯 ffmpeg 无外部依赖。 滤镜:highpass=f=80,lowpass=f=8000,afftdn=nr=12:nf=-40:tn=1 适用:轻度噪声、无需模型的快速处理。

Tier 2, 加强降噪(更强 FFT + 非局部均值)

更激进的 FFT 降噪叠加 anlmdn,仍纯 ffmpeg。 滤镜:highpass=f=70,afftdn=nr=24:nf=-30:tn=1,anlmdn=s=0.0005 适用:中度噪声、稳态背景噪声(空调/风扇/底噪)。默认档。

Tier 3, RNN 神经网络降噪(arnndn + 后处理)

RNNoise 针对人声优化 + 高通预处理 + 动态压缩 + 响度归一化。 滤镜:highpass=f=60,arnndn=m=<model>:mix=<mix>,acompressor=...,loudnorm=... 适用:人声录音、播客、访谈、复杂噪声环境。 需要 RNNoise 模型 sh.rnnn;缺失时脚本自动降级 Tier2 并打印下载提示。

执行步骤

脚本路径(相对项目根):skills/shared/scripts/audio_ops.py。

1. 探测输入文件

python skills/shared/scripts/audio_ops.py info input_file

脚本自身检查 ffmpeg/ffprobe,缺失时给安装提示。向用户展示时长/码率/声道,判断音频还是视频。

2. 准备 RNN 模型(仅 Tier3)

检查脚本旁 skills/shared/scripts/models/sh.rnnn 是否存在。不存在则下载:

mkdir -p skills/shared/scripts/models
curl -L https://github.com/GregorR/rnnoise-models/raw/master/somnolent-hogwash-2018-09-01/sh.rnnn \
  -o skills/shared/scripts/models/sh.rnnn

不下载也可, , 脚本会自动降级 Tier2。也可用 --model <path> 指定其它模型。

3. 执行降噪

Read the whole SKILL.md on GitHub

More in Media