用 OpenClaw🦉 做一套「播客剪辑 Agent」
录播客最折磨人的环节是什么?
不是按下录音键,也不是导出 MP3。
是这一串:转写 → 删废话 → 按主题挑重点 → 写 shownotes → 做时间轴 → 补链接。
你做完这些,基本就到凌晨了。
这篇就把一套特别适合 Agent 干的活,拆成一个 OpenClaw 剪辑 Skill。目标很明确:
- 你把音频丢进去
- 命令行跑一下
- 出来一份「能直接发」的:转写(清洗后)+ timeline + shownotes + 待确认事项
中间你只做“人类该做的事”:听关键片段、做最终判断。😌
这类场景为什么特别适合 Agent
你会发现播客后期的痛点,几乎都在“工具链和信息整理”,而不是“艺术创作”。
OpenClaw 这类 Agent 很擅长:
- CLI 命令行操作:转码、降噪、切段、响度标准化,都是命令行老熟人
- 转写内容按意图过滤:把“嗯、啊、那个、跑题”从文字里清掉,顺便给你标记可剪点
- 音频相关知识:响度(LUFS)、采样率、双声道合并、导出格式
- 自动总结:shownotes、章节时间轴(timeline)、标题候选、金句
- 版权提醒:你提到某首歌、用了片段、引用素材,Agent 可以提醒你“这里要确认授权/替换成无版权音乐”
发布到 Spotify 也能自动化。
但说实话,那一步太简单了,真正耗时间的还是前面的整理和剪辑。
你要准备什么(别怕,很轻)
下面用一套“常见组合”来讲,你也可以替换成自己习惯的工具。
必备
- OpenClaw🦉(你的 Agent 框架)
- ffmpeg:音频界的瑞士军刀
- 转写引擎:Whisper / faster-whisper / 你自己的 ASR 服务
推荐
- 降噪:
ffmpeg的简单滤镜,或 RNNoise / Adobe Podcast(可选) - 分段工具:静音检测(可选,但很好用)
目标产物长什么样(你做完就知道值不值)
你跑完 Skill,建议输出一个文件夹:
output/
episode.cleaned.wav
transcript.raw.md
transcript.cleaned.md
timeline.md
shownotes.md
risk_checklist.md
publish_pack/
title_candidates.md
description.md
tags.md
解释一下:
transcript.raw.md:原始转写,留着溯源transcript.cleaned.md:删口癖、去重复、按段落重排后的“可读版”timeline.md:章节 + 时间戳(你发平台用这个最爽)shownotes.md:能直接贴到播客简介risk_checklist.md:版权/敏感信息/需要人工确认的点
OpenClaw 剪辑 Skill 的核心链路(照着搭就行)
把它当成一个流水线:
- 音频预处理(统一格式)
- 语音转写(ASR)
- 文本清洗(按“剪辑意图”整理)
- 结构化输出(时间轴 / shownotes / 待确认)
1)音频预处理:别让 ASR 和剪辑工具为难
常见问题:
- 录音一个 48k,一个 44.1k
- 左右声道不均
- 音量忽大忽小
用 ffmpeg 统一一下会省很多事。
示例(你按自己需要微调):
# 统一采样率/声道/格式,顺手做个响度标准化
ffmpeg -i input.wav \
-ar 44100 -ac 2 \
-af "loudnorm=I=-16:TP=-1.5:LRA=11" \
output/episode.cleaned.wav
想再“狠一点”,加个简单降噪(效果因素材而异):
ffmpeg -i input.wav -af "highpass=f=80, lowpass=f=12000" output/episode.cleaned.wav
小提醒:降噪别太贪。把人声也削薄了,听众会更痛苦。
2)转写:让 Agent 去跑命令行
以 faster-whisper 举例(你替换成你自己的转写方式也行):
faster-whisper output/episode.cleaned.wav \
--language zh \
--vad_filter true \
--output_format srt \
--output_dir output/
然后把 SRT 转成 Markdown 方便后续处理:
python tools/srt_to_md.py output/episode.cleaned.srt > output/transcript.raw.md
Agent 在这里的价值:
- 它自己判断参数要不要开 VAD
- 失败了会重试/换参数
- 还能把耗时、转写质量写进日志
3)按「剪辑意图」清洗转写:这步最值钱
你真正想要的不是“逐字稿”。
你想要的是:
- 读起来像一篇内容
- 该删的都删了
- 关键内容能被直接复用到 shownotes
你可以给 OpenClaw 一个固定的“清洗规则”,让它每期都按同一套标准来。
一套很好用的清洗规则(直接抄)
- 删口癖:嗯、啊、那个、就是、对对对
- 合并重复句、半句重说
- 明确说“这段建议剪掉/可保留”
- 把跑题段落标记成
CUT_CANDIDATE - 把可做章节的点标记成
CHAPTER - 把出现的工具/书/链接标记成
LINK
给 Agent 的提示词模板(示例)
把下面当成你的 Skill 内置 prompt:
你在做播客后期的文字整理。
输入是一份带时间戳的逐字稿。
输出三份内容:
1) 清洗后的逐字稿(保留时间戳,段落可读)
2) 剪辑建议(哪些段落可以剪,原因是什么)
3) 章节建议(章节名 + 起止时间 + 一句话总结)
规则:
- 口癖/重复/无意义寒暄直接删或合并
- 不要改动事实含义,不要脑补
- 遇到不确定的人名/书名/数据,用【待确认】标注
- 任何音乐/影视片段/第三方音频引用,输出到“版权风险提醒”
4)自动生成 timeline 和 shownotes:让它把“杂活”干完
你要的时间轴,建议长这样:
## 时间轴
- 00:00 开场:这期聊什么
- 03:12 争议点:为什么大多数人学不会 X
- 12:40 方法:一个 3 步框架
- 27:05 例子:真实踩坑
- 41:20 Q&A:听众常问
- 52:10 收尾:下期预告
shownotes 建议让 Agent 输出“可直接复制粘贴版”:
- 3~6 个要点
- 相关链接(带【待补】占位也行)
- 适合平台简介的长度(别写论文)
示例结构:
## Shownotes
这期聊:为什么你以为自己在学习,其实只是在收藏。
### 你会听到
- 一个判断学习是否有效的指标
- 怎么把知识变成行动(附一个小练习)
- 录播客时如何快速做章节切分
### 提到的工具/内容
- 工具:OpenClaw、ffmpeg、Whisper
- 书/文章:【待确认】
### 小练习
听到 12:40 那段,暂停 30 秒,把“你的下一步动作”写下来。
把它封装成 OpenClaw Skill:建议这样组织
你别把 Skill 写成“一坨脚本”。
拆成 4 个子任务,后面想升级会轻松很多:
audio_preprocess:ffmpeg 相关transcribe:ASR 相关transcript_edit:清洗/标注/剪辑建议notes_generate:shownotes/timeline/标题候选
每个子任务都输出文件,下一步只读文件。
好处:
- 任何一步出错,你不用从头再来
- 你能随时替换某个模块(比如换转写引擎)
一键运行:你希望命令行长这样
你可以把入口做成一个命令:
openclaw run podcast_edit \
--input input.wav \
--lang zh \
--speaker 2 \
--out output/
跑完自动打开 output/shownotes.md。
这体验就对了。😎
避坑清单(我真的见太多期死在这里)
- 转写准确率不稳定:录音环境比模型更重要。离麦近一点,收益巨大。
- 响度不统一:导出前做 loudnorm。听众在地铁里听,音量忽大忽小会直接弃听。
- 时间戳对不上:清洗文字时别丢时间戳。章节靠它。
- 过度清洗:逐字稿可以更口语,但别把人的语气和观点“洗成公文”。
- 版权心存侥幸:插歌、放影视片段、引用第三方音频,平台真会下架。宁可用免版权素材,或者只口头提及不播放。
- 把发布也自动化到失控:自动发布很爽,但建议保留“人工确认”这一步,避免发错标题/错音频/漏隐私。
你想更进一步:发布到 Spotify 也能接,但建议留个确认开关
如果你真想全链路:
- Agent 生成标题/简介/标签
- 上传音频
- 设置发布时间
做得到。
我的建议:
- 上传前强制弹出检查清单(音频版本对不对、shownotes 有没有【待确认】、章节有没有跑偏)
- 你点一下“确认发布”,再走 API
自动化不等于把自己也自动送走。
互动:你想看哪种“用例过程”
如果你也想把这套流程跑起来,留言告诉我你现在卡在哪一步:
- 转写准确率太低?
- 剪辑点不好找?
- Shownotes 写到想摔键盘?
- 还是你想直接做“自动发布”?
我可以按大家问得最多的方向,把完整用例(含目录结构、prompt、输出样例)单独写成一篇可抄作业的版本。