通用音频处理
SkillMediaGeneral audio processing: audio clipping/trimming, format transcoding (mp3/wav/m4a/aac), volume normalization, extracting audio tracks from video, multi-segment joining, fade in/out, and speed change (pitch-preserving). Use when the user says "剪音频", "裁一段", "转成 mp3", "调音量/响度", "提取音轨/扒音频", "拼接音频", "淡入
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 通用音频处理 skill
What this skill tells your AI
The instructions your AI receives, as published by zju-real/easel in skills/openclaw/audio-editing/SKILL.md and read by ahel’s review.
除降噪外的通用音频操作:裁剪、转码、音量归一化、提取音轨、拼接、淡入淡出、变速。全部通过共享脚本 skills/shared/scripts/audio_ops.py 封装 ffmpeg,参数确定、可复现,不现场手拼命令。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| input_file | 是 | 音频或视频文件路径 |
| operation | 是 | trim / convert / normalize / extract / concat / fade / speed / denoise / info |
| output_file | 否 | 默认 outputs/主题名/{name}-{op}.{ext} |
支持格式:wav / mp3 / m4a / aac / flac,视频容器 mp4 / mkv / mov(提取音轨)。
输出
- 处理后的音频文件(放入
outputs/主题名/) - 每次操作打印实际执行的 ffmpeg 命令 + 输出文件的时长/码率/声道/采样率
执行步骤
脚本路径(相对项目根):skills/shared/scripts/audio_ops.py。每个子命令都支持 -h。
0. 环境检查 + 探测
python skills/shared/scripts/audio_ops.py info input.mp3
脚本自身会检查 ffmpeg/ffprobe,缺失时给安装提示。先 info 展示文件时长/码率/声道再动手。
1. 裁剪 trim
# 起止时间
python skills/shared/scripts/audio_ops.py trim in.mp3 -o outputs/主题名/clip.mp3 --start 00:00:05 --end 00:00:20
# 起点 + 时长
python skills/shared/scripts/audio_ops.py trim in.mp3 -o clip.mp3 --start 5 --duration 15
2. 转码 convert
python skills/shared/scripts/audio_ops.py convert in.wav -o out.mp3 --bitrate 192k
python skills/shared/scripts/audio_ops.py convert in.m4a -o out.wav --sample-rate 44100 --channels 2
输出格式由扩展名决定(mp3/wav/m4a/aac)。
3. 音量归一化 normalize
python skills/shared/scripts/audio_ops.py normalize in.mp3 -o out.mp3
默认 loudnorm 到 -14 LUFS / -1.5 dBTP(社媒/播客通用响度)。可用 --i --tp --lra 覆盖。
4. 提取音轨 extract
python skills/shared/scripts/audio_ops.py extract video.mp4 -o audio.m4a
python skills/shared/scripts/audio_ops.py extract video.mp4 -o audio.aac --copy # 不重编码,最快
5. 拼接 concat
python skills/shared/scripts/audio_ops.py concat a.mp3 b.mp3 c.mp3 -o all.mp3
按参数顺序拼接,重编码方式兼容不同采样率/容器。
6. 淡入淡出 fade
python skills/shared/scripts/audio_ops.py fade in.mp3 -o out.mp3 --fade-in 2 --fade-out 3
--fade-out 自动定位到结尾前 N 秒。
7. 变速 speed(保持音高)
python skills/shared/scripts/audio_ops.py speed in.mp3 -o out.mp3 --factor 1.5 # 1.5 倍速
python skills/shared/scripts/audio_ops.py speed in.mp3 -o out.mp3 --factor 0.8 # 放慢
基于 atempo 保音高,超 0.5-2.0 范围自动级联。
8. 降噪 denoise(兜底,专项请用 audio-denoise)
python skills/shared/scripts/audio_ops.py denoise in.wav -o out.wav --tier 2
与 audio-denoise 的边界
- audio-denoise:降噪专项 SKILL,负责选级、模型下载、降噪报告等完整流程——需要认真降噪时用它。
- audio-editing:通用音频处理。
denoise子命令仅作为顺手兜底,两者调用同一个audio_ops.py denoise,能力一致,定位不同。
规则
- 绝不删除原始文件 — 只写新文件到
outputs/主题名/。 - 先 info 再处理 — 展示文件信息,避免误操作。
- 视频输入只动音频 — denoise 对视频自动
-c:v copy;纯抽音用 extract。 - 透明执行 — 脚本会打印实际 ffmpeg 命令。
- 无 Profile 也能用 — 音频处理不依赖账号画像。
Profile 感知
有 Profile 时可据平台偏好选默认参数(如短视频响度、目标码率);无 Profile 退到通用默认(-14 LUFS、192k)。
Signals
- GitHub stars
- 1k
- Forks
- 143
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
audio-editing-zju-real- Source
- github.com/zju-real/easel