我把「3小时播客变成可搜索文本」做成了 Claude Code 的一条命令

文章目录

前言

你有没有过这种时刻------

关注了一年的技术播客终于更新了,点开一看 2 小时 47 分钟。你很想听,但实在抽不出整块时间。想搜里面的某个观点?对不起,没有字幕。想让 AI 帮你总结?对不起,没有文本。

于是我做了一个叫 shut-up-and-scribe 的 Claude Code Skill(欢迎star)

项目地址:shut-up-and-scribe

把这件事压缩成一句话:

复制代码
/shut-up-and-scribe https://youtu.be/ZDXIUO7CRzo

一个命令,YouTube / B站 / 本地音视频全文转录,带说话人分离,输出可以直接读的对话文本。

它做了什么?

完整流水线,一键跑完:

  1. 下载音频 --- YouTube / B站视频自动抓取,本地文件直接处理
  2. WhisperX 转录 --- large-v3 模型,识别语言 + 转文字
  3. 说话人分离 --- 自动区分「这是谁在说话」,打上【说话人1】【说话人2】标签
  4. 合并整理 --- 同人说的话合并成段落,输出干净的 .txt

输出长这样:

复制代码
==================== 语音转录文本 --- 共2位说话人 ===================
来源:https://youtu.be/abc
处理时间:2026-05-04

【说话人1】今天我们聊一聊 AI 的未来。
【说话人2】对,这个话题很有意思。
【说话人1】那我们先从大模型开始说起吧。

指定名字更直观:

复制代码
/shut-up-and-scribe https://youtu.be/xxx --names "张总,李工"

【张总】Today let's talk about the future of AI.
【李工】Yes, I think this topic is really interesting.

怎么用?

如果你用的是 Claude Code,直接把 skill 文件放进 .claude/skills/,然后:

复制代码
/shut-up-and-scribe https://www.bilibili.com/video/BVxxxx

剩下的,交给 AI。 ☕


遇到问题先查 README,里面每一个坑都是我亲手踩出来的。

花了一整天才跑通的环境

说「一键」是骗你的。真实情况是:光把环境跑通我就花了一整天。

下面是我真实踩过的坑,一字不差地记录在这里,让你不用再踩一遍。

第一关:ffmpeg

Windows 用户别去官网瞎下载。我从 GyanD/codexffmpeg releases 下了 版本 7 的 shared ,解压后把 bin/ 加进 PATH。

目前还有 torchcodec 的 warning 没解决,不过不影响运行,先放着。

第二关:HuggingFace Token

说话人分离依赖 pyannote 系列模型,你需要:

  1. huggingface.co 注册,进 Settings → Access Tokens 建一个 write 权限的 token

  2. 手动点三个「Accept Conditions」 ------这是最容易被忽略的一步,不点程序直接下载模型失败:

  3. 设置环境变量 HF_TOKEN。Windows PowerShell 推荐:

    powershell 复制代码
    [System.Environment]::SetEnvironmentVariable('HF_TOKEN', 'hf_你的token', 'User')

    💡 设完要重启终端、IDE 或 VS Code 才生效

第三关:Python 与 numpy 地狱

我用的 Anaconda3-2025.12-2-Windows-x86_64,装完手动把这三行塞进系统环境变量:

复制代码
D:\<anaconda dir>
D:\<anaconda dir>\Scripts
D:\<anaconda dir>\Library\bin

然后才是真正的深渊------依赖版本

bash 复制代码
# torch 版本必须精确匹配,注意最好用GPU版本
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0  # cuda 版本看你机器

# 然后装业务包
pip install yt-dlp whisperx

重点来了。 如果你用 Anaconda,装完会发现 import transformers 直接崩溃。原因是 numpy 版本冲突------需要这样救:

bash 复制代码
pip uninstall numpy
pip install "numpy<2.4"

测试一下 transformers 能不能活下来:

powershell 复制代码
$env:PYTHONFAULTHANDLER = "1"
python -c "import faulthandler; faulthandler.enable(); import transformers"

还有一坑:Library/bin/libiomp5md.dll 会和 torch 的 OpenMP 冲突,直接删掉这个 dll

一句话总结:依赖版本请和我保持一致,不然需要花较多时间处理问题。这是血泪教训。

第四关:Anaconda 的 PATH 陷阱

很多人(包括我)以为装了 Anaconda 就万事大吉,结果跑起来发现各种找不到模块。原因很简单------Anaconda 没加入 PATH

除了主目录,还要把 ScriptsLibrary\bin 都加进去,三个路径缺一不可。

几个好用的参数

参数 作用 示例
--names "A,B" 自定义说话人名称 --names "主持人,嘉宾"
--language zh 指定语言(会弹出选择) --language zh
--punctuate transformers 恢复标点 xxx --punctuate
--proofread LLM 校对标点错别字 xxx --proofread
--cleanup 跑完删临时文件 xxx --cleanup

它适合干什么?

  • 长播客整理 --- 2 小时节目,10 分钟出稿,搜索关键词秒定位
  • 访谈记录 --- 给说话人起名字,直接当文字稿用
  • B站视频归档 --- 收藏的视频终于可以 Ctrl+F 了
  • 个人学习 --- 听课录音、会议录音,转文字后喂给 AI 总结

几个注意事项

  • 首次运行会下载 ~3GB 模型,耐心等一下
  • 说话人识别不是 100% 准确,可以用 --names 手动校准
  • HF Token 是敏感信息,别提交到公开仓库
  • 仅用于个人学习/研究,请遵守版权规定
相关推荐
武子康5 小时前
让 SGLang 按 JSON 回答,怎样少写一些补救代码
人工智能·llm·agent
Darling噜啦啦5 小时前
Text2SQL 实战:自然语言直连数据库,让 AI 自动写 SQL 完成 CRUD 与多表联查
llm·sql server
Darling噜啦啦5 小时前
LLM 结构化输出进阶:withStructuredOutput 一行封装 Tool Call,从流式输出到 MySQL 落地
langchain·llm
AI工具人PM产品经理6 小时前
Claude Code TDD 实战:84 个测试护体的 spec→plan 开发流
jest·tdd·工作流·ai 编程·claude code
Flynt1 天前
"只输出 JSON"根本不够:LLM 结构化输出的坑,我实测了 60 次调用
llm·json
xn71331 天前
Funes Agent Memory 实测:Codex 长期记忆召回、旧记忆污染与 no-answer 边界
人工智能·llm·ai编程
William一直在路上1 天前
GPT-6 Astra 研究报告——模型能力、API 演进与 Agent/MCP 生态影响分析
人工智能·gpt·llm·openai·astra
玉宇夕落1 天前
从InMemory内存记忆到文件持久化,手把手教你管理AI的“记忆”
llm
神秘的猪头1 天前
新版 LangChain Agent 核心架构:State、Context、ToolRuntime 与 Middleware
langchain·llm·fastapi
武子康1 天前
Agent 的工具没变,SGLang 缓存为什么没命中?
人工智能·llm·agent