Install
$ agentstack add skill-zju-real-easel-audio-denoise ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
音频降噪
清理录音中的背景噪声。降噪专项 SKILL——通过共享脚本 skills/shared/scripts/audio_ops.py denoise 封装 ffmpeg 降噪滤镜,提供三级方案(从基础滤波到 RNN 神经网络),参数确定、可复现,不现场手拼命令。
> 通用音频操作(裁剪/转码/音量/提取/拼接/淡入淡出/变速)见 audio-editing。本 SKILL 专注降噪。
输入
| 字段 | 必填 | 说明 | |------|------|------| | inputfile | 是 | 音频或视频文件路径 | | tier | 否 | 1 / 2 / 3(默认 2) | | outputfile | 否 | 默认 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=: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 指定其它模型。
3. 执行降噪
# 默认 Tier2
python skills/shared/scripts/audio_ops.py denoise input.wav -o outputs/主题名/input-clean.wav --tier 2
# Tier3(RNNoise,人声)
python skills/shared/scripts/audio_ops.py denoise input.wav -o outputs/主题名/input-clean.wav --tier 3 --mix 0.8
- 脚本会打印实际运行的 ffmpeg 命令(透明执行)。
- 视频输入自动
-c:v copy:只处理音轨,视频轨原样保留。
4. 验证输出 + 报告
脚本处理完自动打印输出文件的时长/码率/声道/采样率。如需完整对比:
python skills/shared/scripts/audio_ops.py info outputs/主题名/input-clean.wav
报告内容:原始 vs 输出(格式/时长/大小/采样率)、所用 tier 与滤镜链、大小变化。
规则
- 绝不删除原始文件 — 即使用户未指定
preserve_original。 - 先探测再处理 — 始终先
info展示文件信息。 - 视频输入只动音频 — 脚本自动
-c:v copy。 - 透明执行 — 脚本打印实际 ffmpeg 命令。
- 降噪过度时 — 建议降低 tier 或
--mix(如 0.8→0.5)。 - 无 Profile 依赖 — 音频处理不需要账号画像。
自研参考
- FFmpeg afftdn/arnndn/anlmdn 滤镜文档
- xiph/rnnoise — RNN 噪声抑制
- GregorR/rnnoise-models — 预训练模型
- timsainb/noisereduce — Python 频谱门控(备选方案)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ZJU-REAL
- Source: ZJU-REAL/Easel
- License: Apache-2.0
- Homepage: https://zju-real.github.io/Easel/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.