Audiocut Keyword
音频关键字过滤工具 - 根据关键字配置自动识别并删除音频中的指定内容
Install
npx skills add wlzh/skills --skill audiocut-keyword -g -a claude-code -y- Repository
- wlzh/skills694
- Category
- Engineering
- Updated
- 8d ago
- License
- MIT
- Context cost
- Lightabout 1,278 tokens
- Runs scripts
- Yes, review before use
What it does
音频关键字过滤工具 - 根据关键字配置自动识别并删除音频中的指定内容
音频关键字过滤工具
基于 FunASR 语音识别和 FFmpeg 剪辑的音频关键字过滤 Skill
功能特性
- 精确转录: 使用 FunASR Paraformer 进行 30s 分段转录,获取字符级时间戳
- 关键字识别: 根据配置文件自动识别音频中的关键字
- 智能剪辑: 使用 FFmpeg 精确删除关键字片段并合成最终音频
- 可配置: 支持自定义关键字列表和缓冲时间
使用场景
- YouTube 转播客: 删除视频中的"关注"、"订阅"、"点赞"等引导语
- 广告过滤: 自动删除音频中的广告和推广内容
- 内容清理: 批量处理音频,删除不需要的关键字片段
快速开始
基本用法
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py <音频文件>
指定输出文件
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py \
input.mp3 \
-o output.mp3
使用自定义关键字配置
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py \
input.mp3 \
-k my_keywords.json
调整缓冲时间
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py \
input.mp3 \
--buffer-before 1.0 \
--buffer-after 1.0
工作流程
1. 音频转录(FunASR 30s 分段)
↓
2. 加载关键字配置
↓
3. 查找关键字位置(字符级时间戳)
↓
4. 生成删除计划(合并重叠片段)
↓
5. FFmpeg 剪辑并合成
↓
6. 输出处理后的音频
关键字配置文件
配置文件位于: ~/.claude/skills/audiocut-keyword/config/keywords.json
{
"keywords": [
"广告",
"赞助",
"推广",
"关注",
"订阅",
"点赞",
"转发",
"分享",
"评论区",
"链接在简介",
"微信公众号",
"小程序"
],
"buffer_before": 0.5,
"buffer_after": 0.5,
"description": "关键字配置文件"
}
配置说明
keywords: 关键字列表,支持中文和英文buffer_before: 删除前缓冲时间(秒),避免删除不完整buffer_after: 删除后缓冲时间(秒),避免删除不完整
技术实现
1. 音频转录
使用 FunASR Paraformer 模型进行 30s 分段转录:
- 模型:
paraformer-zh(中文语音识别) - 分段策略: 30s 一段,避免长音频时间戳漂移
- 时间戳精度: 字符级(毫秒级)
- 输出格式: JSON(包含每个字符的 start/end 时间戳)
2. 关键字识别
- 在转录文本中使用正则表达式查找关键字
- 根据字符位置获取对应的时间戳
- 记录上下文信息,便于审查
3. 删除计划生成
- 为每个关键字添加前后缓冲时间
- 合并重叠的时间段,避免重复删除
- 生成最终的删除片段列表
4. 音频剪辑
使用 FFmpeg filter_complex 进行无损剪辑:
