원클릭으로
audiocut-keyword
音频关键字过滤工具 - 根据关键字配置自动识别并删除音频中的指定内容
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
音频关键字过滤工具 - 根据关键字配置自动识别并删除音频中的指定内容
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Automate the full QuarkPanTool → mswnlz GitHub content publishing pipeline. Use when the user provides Quark share URLs and wants: (1) create a batch folder in Quark Drive, (2) save/copy resources into that folder, (3) copy promotional files INTO each shared resource folder, (4) generate permanent encrypted share links with random passcodes, (5) auto-classify items into mswnlz repos (book/movies/etc.) by repo descriptions, (6) append/update the target repo's YYYYMM.md and README month index, (7) git commit+push, (8) send unified Telegram notifications, and (9) force-trigger mswnlz.github.io site rebuild and return the final site URLs.
Track YouTube channels for new uploads. Supports both RSS mode (no API key needed, unlimited quota) and API mode. Use when: add/remove/list tracked YouTube channels, check for new videos, or run scheduled YouTube channel monitoring.
"Upload and publish videos to YouTube with title, description, tags, thumbnail and subtitles. Use for: youtube upload, publish video, share on youtube."
扫描目录识别所有类型发票(交通、住宿、餐饮等),提取关键信息并生成分类统计报告
音频变声处理工具 - 使用 RVC AI 模型进行真实的声音转换,支持视频直接输入
通用图片生成 Skill,支持多种 AI 模型(ModelScope、Gemini、RunningHub 等),可被其他 Skills 调用
| name | audiocut-keyword |
| description | 音频关键字过滤工具 - 根据关键字配置自动识别并删除音频中的指定内容 |
| version | 1.1.0 |
| author | M. |
基于 FunASR 语音识别和 FFmpeg 剪辑的音频关键字过滤 Skill
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: 删除后缓冲时间(秒),避免删除不完整使用 FunASR Paraformer 模型进行 30s 分段转录:
paraformer-zh (中文语音识别)使用 FFmpeg filter_complex 进行无损剪辑:
ffmpeg -i input.mp3 \
-filter_complex "[0:a]atrim=start=0:end=10,asetpts=PTS-STARTPTS[a0];
[0:a]atrim=start=15:end=30,asetpts=PTS-STARTPTS[a1];
[a0][a1]concat=n=2:v=0:a=1[outa]" \
-map "[outa]" output.mp3
处理完成后会生成以下文件:
<原文件名>_filtered.mp3 - 处理后的音频<原文件名>_delete_plan.json - 删除计划(包含匹配信息)<原文件名>_transcript.json - 转录文件(可选保留)usage: audiocut_keyword.py [-h] [-o OUTPUT] [-k KEYWORDS]
[--buffer-before BUFFER_BEFORE]
[--buffer-after BUFFER_AFTER]
[--keep-transcript]
input_audio
positional arguments:
input_audio 输入音频文件
optional arguments:
-h, --help 显示帮助信息
-o OUTPUT, --output OUTPUT
输出音频文件(默认:输入文件名_filtered.mp3)
-k KEYWORDS, --keywords KEYWORDS
关键字配置文件(默认:config/keywords.json)
--buffer-before BUFFER_BEFORE
删除前缓冲时间(秒,默认:0.5)
--buffer-after BUFFER_AFTER
删除后缓冲时间(秒,默认:0.5)
--keep-transcript 保留转录文件
使用预配置的 Python 3.10 环境:
# FunASR 环境已预安装在 skill 目录
~/.claude/skills/audiocut-keyword/funasr_env_310/
包含:
pip install funasr modelscope
首次运行会自动下载 FunASR 模型(约 2GB)到 ~/.cache/modelscope/
| 指标 | 值 |
|---|---|
| 转录速度 | ~0.16x 实时(1分钟音频约10秒处理) |
| 剪辑速度 | 几乎瞬时完成 |
| 15分钟音频 | 总处理时间约 2-3 分钟 |
测试环境:M1 Mac,CPU 推理
在 youtube-to-xiaoyuzhou 工作流中使用:
# 下载 YouTube 音频后
audio_file = "downloaded_audio.mp3"
# 过滤关键字
filtered_audio = audiocut_keyword(audio_file)
# 上传到小宇宙
upload_to_xiaoyuzhou(filtered_audio)
原因: 背景噪音大、口音重、音质差
解决:
原因: 转录错误或关键字配置不准确
解决:
*_transcript.json 中的文本原因: 关键字过于宽泛或缓冲时间过长
解决:
*_delete_plan.json原因: FFmpeg 未安装或版本过旧
解决:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt-get install ffmpeg
# 检查版本
ffmpeg -version
# 下载 YouTube 音频
yt-dlp -x --audio-format mp3 https://youtu.be/xxxxx -o input.mp3
# 过滤关键字
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py input.mp3
# 输出: input_filtered.mp3
创建 my_keywords.json:
{
"keywords": ["广告", "赞助商", "推广链接"],
"buffer_before": 1.0,
"buffer_after": 1.0
}
运行:
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py \
input.mp3 \
-k my_keywords.json
for file in *.mp3; do
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py "$file"
done
MIT