前言

你有没有过这种时刻——

关注了一年的技术播客终于更新了,点开一看 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 推荐:
    [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

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

# 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 版本冲突——需要这样救:

pip uninstall numpy
pip install "numpy<2.4"

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

$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 是敏感信息,别提交到公开仓库
  • 仅用于个人学习/研究,请遵守版权规定
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐