录音笔字幕工作流(Recorder → Subtitle Studio)
把「传统录音笔插上电脑」一键变成「自动整理 → 转写文档 → 匹配字幕 → 可分享网页」的闭环,
并把成果封装为一个可分享给其他人的 Skill。
何时使用
- 用户插上录音笔(或已把录音拷到本地),希望自动整理、转写、出字幕。
- 用户要针对录音内容生成带时间戳的字幕(SRT/VTT)或可同步播放的分享网页。
- 用户想把这个流程打包成可被他人安装的 Skill。
能力边界
- 转写使用本地 Whisper(离线、免费、自带时间戳);未安装时脚本会明确报错并给安装命令,不静默跳过。
- ffmpeg 自动兜底:脚本会优先用系统 ffmpeg;若未安装但装了
imageio-ffmpeg,则自动软链并注入 PATH,无需brew install ffmpeg。 - 支持常见格式:wav/mp3/m4a/aiff/aif/flac/opus/caf/mp4/3gp 等;专有格式(DSS/DS2/WMA/AMR)经 ffmpeg 转换后可转写。
- 自动监听守护仅支持 macOS(launchd);其他平台用手动/命令触发即可。
- 会议纪要抽取做了繁简归一与长段落兜底,对繁体输出或 Whisper 切成单段的录音也稳健;不确定项一律
【待核:…】占位,绝不臆造。 - 不臆造转写内容;转写准确率取决于录音质量与 Whisper 模型大小。
工作流
1. 准备(每台机器一次)
pip install openai-whisper
# ffmpeg 二选一:
pip install imageio-ffmpeg # 推荐:自动提供 ffmpeg 二进制,无需 brew
# 或系统级安装:
brew install ffmpeg # macOS;Linux: sudo apt install ffmpeg
> 首次运行会自动下载 Whisper 模型(默认 base,约 140MB);需要更高精度可换 --model small/medium。
2. 触发(两种)
- 说一句话(推荐,零后台):插上录音笔后,对用户说「整理我刚插上的录音笔」,
即调用recorder_pipeline.py auto。 - 全自动守护(macOS 开机自启):
bash python3 scripts/watch_recorder.py --install
之后插上即自动整理转写,并弹系统通知。卸载用--uninstall。
3. 命令行直跑
# 自动检测插上的录音笔并处理
python3 scripts/recorder_pipeline.py auto
# 处理已在本地的文件/目录
python3 scripts/recorder_pipeline.py process --input /path/to/folder
# 可选参数:模型、语言、跳过网页/文档、强制重跑
# --model small --lang zh --no-html --no-md --force
4. 产出(归档于 ~/Recordings/YYYY-MM-DD/)
*.srt/*.vtt:字幕文件*.json:Whisper 结构化结果*.html:可分享同步字幕网页(录音与字幕同目录,打开即同步高亮、可搜索、可点击跳转)*.transcript.md:带时间戳的纯文本转写稿会议纪要.md/会议纪要.docx:转写后自动产出的会议纪要(七要素 + 待办五列表,公文格式 Word;不确定项以【待核:…】占位,不臆造)library_manifest.json:去重归档清单
> 转写完成后默认自动出纪要(建模于「会议纪要专家团」规范)。不想出纪要时加 --no-minutes。
> 若需指定会议日期:--date 2026-10-30。
脚本与资源索引
scripts/detect_recorder.py— 识别插上的录音笔并列出音频文件(macOS/linux,按卷名+音频兜底)。scripts/transcribe.py— 调用 Whisper 转写;segments_to_srt/vtt生成字幕;build_html_player生成同步网页。scripts/recorder_pipeline.py— 编排:检测→拷贝整理→(ffmpeg 转换)→转写→字幕→网页→md→自动出纪要。scripts/make_minutes.py— 转写后自动产出会议纪要(七要素 + 待办五列表,公文格式 Word)。scripts/watch_recorder.py— 插拔监听守护;--install/--uninstall/--loop/--once。assets/player_template.html— 同步字幕网页模板(可改样式)。scripts/watch_recorder.py --install会动态生成~/Library/LaunchAgents/com.workbuddy.recorder-watch.plist(launchd 开机自启项,含 RunAtLoad/KeepAlive),无需静态模板文件。references/workflow.md— 完整使用手册与排错。references/whisper_setup.md— Whisper 安装、模型与语言选择。references/subtitle_formats.md— SRT/VTT 格式说明与编辑方法。references/recorder_models.md— 常见录音笔机型挂载特征与识别扩展。
分享给他人
本 Skill 已用 package_skill.py 打包为 recorder-subtitle.zip,他人解压到
~/.workbuddy/skills/ 即可在 WorkBuddy 中直接使用;生成的 *.html 字幕网页也可单独
通过 WorkBuddy 发布为在线链接分享。
质量门禁(交付前自检)
- [ ] 本机已装 Whisper 与 ffmpeg(或
imageio-ffmpeg;缺则给出安装提示而非静默失败) - [ ] 录音笔能被识别(卷名或音频兜底命中;支持 aiff/aif 等格式)
- [ ] 产出含 srt、vtt、html,且 html 打开后字幕与音频同步、无
{{ }}占位符残留 - [ ] 专有格式已转换或已明确提示缺 ffmpeg
- [ ] 去重清单生效,重复插拔/重跑不重复处理同一文件
- [ ] 自动纪要能抽取议题/决议/待办,繁简混排与长段落不退化