关于 babelscribe
babelscribe 是面向希望在本机转录音视频的用户的离线语音转文字和字幕工具。它支持 Whisper 的 99 种语言,通过 whisper.cpp 使用 GPU 或 CPU,并提供命令行、Python 和 MCP 接口。
主要功能
- 01离线转录音频和视频
- 02生成 SRT、VTT 和文本
- 03支持 Whisper 的 99 种语言
- 04使用 AMD、NVIDIA、Intel、Apple GPU 或 CPU
- 05查找本机媒体文件
- 06提供命令行、Python 和 MCP 接口
适用场景
- 01为本地视频生成字幕
- 02不上传音频即可转录
- 03通过 AI 应用查找并转录近期媒体文件
- 04生成文本以便校对、翻译或总结
MCP 相关
babelscribe 向 MCP 客户端提供本地转录、媒体查找、设备列表以及语言和模型列表工具。服务在用户电脑上运行,因此可访问本地文件和可用的 GPU 硬件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| formats | string | 否 | |
| accurate | boolean | 否 | |
| language | string | 否 | |
| file_path | string | 是 | |
| output_dir | string | 否 |
详细介绍
babelscribe — 在任何 GPU(AMD、NVIDIA、Intel、Apple)上免费离线进行语音转文字和生成字幕
babelscribe 可将任何音频或视频文件转换为字幕(SRT、VTT)和文本,支持 Whisper 的 99 种语言;可在你自己的显卡上运行——AMD Radeon、NVIDIA、Intel Arc 或 Apple Silicon——也可使用 CPU。无需 CUDA,无需云端,免费(MIT)。 它通过 whisper.cpp 使用 OpenAI Whisper,支持 Vulkan、CUDA 或 Metal;可通过命令行、Python 使用,也可作为 MCP 服务供 AI 应用(Claude、Codex、Antigravity、Gemini CLI、Cursor)使用。
pip install babelscribe # Python 3.9+
babelscribe interview.mp4 # auto-detects language, picks your best GPU -> interview.srt + interview.json
babelscribe 是 whisper.cpp 之上的轻量易用封装。开发它的原因是:在非 NVIDIA 显卡(例如 Windows 上的 AMD Radeon)上快速运行 Whisper,仍需要自行使用 Vulkan SDK 构建 whisper.cpp。babelscribe 会为你的系统下载预构建的 whisper-cli,并处理其余工作。
| 你的硬件 | 使用的后端 | 预构建资源 |
|---|---|---|
| Windows 上的 AMD / NVIDIA / Intel GPU | Vulkan | windows-x64-vulkan |
| Windows 上的 NVIDIA | Vulkan(相同构建) | windows-x64-vulkan |
| Linux 上的 NVIDIA(替代方案) | CUDA | linux-x64-cuda(--flavor cuda) |
| Linux 上的 AMD / NVIDIA / Intel GPU | Vulkan | linux-x64-vulkan |
| Apple Silicon | Metal | macos-arm64-metal |
| 没有可用 GPU | CPU | *-cpu(--flavor cpu) |
在 AMD Radeon RX 9070 XT 上,转录一段 19 分钟的英语 TED 演讲只需 48 秒,词错误率为 1.5%——请参见下方的基准测试。
在 AI 应用中使用(MCP)——无需终端
babelscribe 也是一个 MCP 服务,因此任何支持本地 MCP 服务的 AI 应用都可以使用你的电脑和你的 GPU 转录文件。用日常语言提出需求——“为我 Downloads 文件夹里最新的视频制作泰语字幕”——应用会找到文件、进行转录、在文件旁写入 .srt / .txt,之后还可以帮你校对人名、翻译或总结文本。
工具:transcribe(文件 → 字幕 + 文本)、find_media(Downloads、Videos、Desktop 等文件夹中最新的音频/视频)、list_devices、list_languages_and_models。
**Claude Desktop(一键安装):**从最新版本下载 babelscribe.mcpb,然后双击(或选择 Settings → Extensions → Install extension)。
其他应用都使用相同的命令——uv 会为你获取 babelscribe:
uvx babelscribe mcp
| 应用 | 添加方式 |
|---|---|
| Claude Code | claude mcp add babelscribe -- uvx babelscribe mcp |
| OpenAI Codex CLI | codex mcp add babelscribe -- uvx babelscribe mcp,然后在 ~/.codex/config.toml 的 [mcp_servers.babelscribe] 下设置 tool_timeout_sec = 3600 和 startup_timeout_sec = 120(默认值为 60 s / 10 s——处理长视频或首次下载模型时太短) |
| Google Antigravity | Agent 面板 → ⋯ → MCP Servers → Manage MCP Servers → View raw config,添加以下 JSON |
| Gemini CLI | 将以下 JSON 添加到 ~/.gemini/settings.json |
| Cursor | 将以下 JSON 添加到 ~/.cursor/mcp.json |
| VS Code (Copilot) | .vscode/mcp.json:在 "servers" 下添加相同条目,并设置 "type": "stdio" |
{
"mcpServers": {
"babelscribe": { "command": "uvx", "args": ["babelscribe", "mcp"], "timeout": 3600000 }
}
}
(timeout 的单位是毫秒,且只有部分应用会读取它。)如果已通过 pip 安装,请使用 "command": "babelscribe", "args": ["mcp"]。
纯网页聊天应用(例如 grok.com、chatgpt.com)只能连接互联网上的服务,无法连接你的电脑,因此无法使用你的 GPU 或文件。
基准测试:真实演讲,以人工字幕为答案
选取 4 场 TED / TEDx 演讲,与演讲所用语言的人工字幕进行评分(bench/bench.py,可复现)。
对于以空格分隔的语言,错误率 = 词错误率(WER);对于日语和泰语,错误率 = 字符错误率(CER)。
GPU:通过 Vulkan 使用 AMD Radeon RX 9070 XT。default = large-v3-turbo;accurate = --accurate(参见 FLEURS 部分)。
| 语言 | 演讲 | 时长 | default:时间 / 错误率 | --accurate:时间 / 错误率 |
|---|---|---|---|---|
| 英语 | Matt Walker — 睡眠是你的超能力 (TED) | 19.3 min | 48 s(24 倍)· WER 1.5% | 107 s(11 倍)· WER 1.5% |
| 日语 | Kazunari Taguchi (TEDxHimi) | 16.2 min | 47 s(20 倍)· CER 4.7% | 115 s(8 倍)· CER 4.2% |
| 西班牙语 | Adrià Solà Pastor — Cómo hablar (TEDxESIC University) | 19.9 min | 56 s(21 倍)· WER 13.8% | 134 s(9 倍)· WER 13.5% |
| 泰语 | นิติ ชัยชิตาทร — โปรดเรียกฉันด้วยนามอันแท้จริง (TEDxBangkok) | 14.1 min | 74 s(12 倍)· CER 22.7% | 565 s(2 倍)· CER 16.4% |
解读方式:TED 字幕经过编辑以便阅读(删去填充词,略作改写),因此这些数字是上限——西班牙语的“错误”大多是演讲者的原话与整理后的字幕之间的差异。泰语确实更难:语速快、表达随意且带有俚语;--accurate(Pathumma Whisper 文本 + turbo 时间戳)将错误率降低了四分之一以上。
这些演讲仅用于测量准确率;不会再分发其转录文本(TED 内容采用 CC BY-NC-ND 许可)。
基准测试:FLEURS 上的 16 种语言
Google FLEURS 测试集,每种语言 50 条语句,转录文本由人工逐字核验(bench/fleurs.py,可复现)。所有语言使用相同的正规化规则(Whisper 的规则:转为小写、删除标点和非间距符号、将数字拼写为文字)。以空格分隔的语言使用 WER,ja / zh / ko / th 使用 CER。
| 语言 | default(turbo) | --accurate | --accurate 使用的模型 | --accurate,裁去边缘* |
|---|---|---|---|---|
| 英语 | 6.1% | 5.7% | large-v3,beam 5 | 5.6% |
| 西班牙语 | 4.1% | 4.2% | large-v3,beam 5 | 2.6% |
| 法语 | 7.4% | 7.3% | large-v3,beam 5 | 7.2% |
| 德语 | 4.3% | 4.0% | large-v3,beam 5 | 3.3% |
| 葡萄牙语 | 8.5% | 7.7% | large-v3,beam 5 | 5.3% |
| 意大利语 | 6.7% | 6.5% | large-v3,beam 5 | 3.8% |
| 俄语 | 6.8% | 5.8% | large-v3,beam 5 | 5.6% |
| 阿拉伯语 | 11.0% | 10.6% | large-v3,beam 5 | 9.7% |
| 印地语 | 28.4% | 12.6% | vasista22/whisper-hindi-large-v2 + turbo 时间戳 | 11.1% |
| 印度尼西亚语 | 9.8% | 7.8% | large-v3,beam 5 | 5.6% |
| 越南语 | 10.8% | 9.1% | large-v3,beam 5 | 9.1% |
| 土耳其语 | 6.2% | 6.7% | large-v3,beam 5 | 5.8% |
| 日语(CER) | 6.4% | 5.7% | large-v3,beam 5 | 4.6% |
| 中文(CER) | 6.3% | 5.3% | large-v3,beam 5 | 4.8% |
| 韩语(CER) | 4.1% | 3.9% | large-v3,beam 5 | 3.1% |
| 泰语(CER) | 15.9% | 8.9% | Pathumma Whisper(NECTEC)+ turbo 时间戳 | 8.8% |
* 部分 FLEURS 音频片段中的语音比参考转录文本更长,因此即使模型识别正确,也会因参考文本中未包含的词而被计错。裁去边缘会忽略参考文本第一个词之前 / 最后一个词之后多出的词;bench/fleurs.py 会保存这两种结果。每种语言只有 50 条语句,因此差异低于约 0.5 个百分点时属于噪声。
也进行了测试,但未采用,因为 large-v3 的表现持平或更好:large-v2(所有语言)、PhoWhisper-large(vi 19.0%)、whisper-large-v3 阿拉伯语方言 / 语码转换微调模型(12.2% / 15.2%)、Typhoon Whisper(th 11.9%)、Thonburian Whisper(th 9.1%——保留为可选项)、Vaani Hindi(16.5%)。
为什么选择 babelscribe(而不是现有方案)
| AMD / Intel GPU | Windows,无需构建 | 输入视频,输出字幕 | 长文件不会循环重复 | 为你的语言提供更好的文本 | |
|---|---|---|---|---|---|
| babelscribe | ✅ Vulkan | ✅ 自动为你下载预编译的 whisper-cli | ✅ 内置 ffmpeg | ✅ 默认使用 --max-context 0 | ✅ 微调文本与 turbo 时间戳相结合 |
| whisper.cpp(原版) | ✅ Vulkan — 需自行编译 | ❌ 官方版本不提供 Windows Vulkan 构建 | ❌ 仅支持 16 kHz WAV | ⚠️ 你必须知道该用哪个标志 | ❌ |
| faster-whisper / WhisperX | ❌ GPU 仅支持 NVIDIA CUDA | ✅ pip | ✅ | ⚠️ | ⚠️ 需手动处理 |
| 云端 API | 不适用(云端) | ✅ | ✅ | ✅ | ❌ — 音频会离开你的设备,且按分钟付费 |
babelscribe 并不会取代这些项目 — 它基于 whisper.cpp,只是帮你省去繁琐步骤: 为你的 GPU 编译、转换媒体、选择正确的设备、避免长文件重复问题,以及将特定语言的微调模型与准确的时间戳结合起来。
常见问题
如何在 Windows 上使用 AMD GPU 运行 Whisper?
先运行 pip install babelscribe,再运行 babelscribe video.mp4。它会下载 whisper.cpp 的 Vulkan 构建版本,可在 Windows 和 Linux 上通过 AMD Radeon(以及 Intel Arc / NVIDIA)显卡运行 — 无需 ROCm、CUDA,也无需编译。
如何免费离线从视频生成字幕(SRT)?
运行 babelscribe video.mp4 -f srt,即可在视频旁生成 video.srt。文件不会上传;处理过程在你的电脑上进行。
泰语最准确的免费转录方案是什么?
运行 babelscribe video.mp4 -l th --accurate — 使用 Pathumma Whisper(NECTEC)生成文本,并由 Whisper turbo 提供时间戳:
在 Google FLEURS 上的 CER 为 8.9%,而普通 Whisper turbo 为 15.9%。也可以使用 Thonburian Whisper(--text-model thai-thonburian)。
Claude / ChatGPT Codex / Gemini 能在我的电脑上转录视频吗?
可以 — 将 babelscribe 添加为 MCP 服务(参见 在 AI 应用中使用)。Claude Desktop 可通过 babelscribe.mcpb 一键安装。随后,AI 应用便可以查找文件、在你的 GPU 上转录,并校对、翻译或总结文本。
运行速度如何? 使用 Whisper large-v3-turbo 和 AMD Radeon RX 9070 XT 时,速度约为实时速度的 20 倍:19 分钟的演讲只需 48 秒。
支持哪些语言? 支持 Whisper 的全部 99 种语言,并可自动检测语言。其中 16 种语言的 FLEURS 错误率见基准测试表。
它比 faster-whisper 或 WhisperX 更好吗? 它们在 NVIDIA GPU 上表现出色;在 AMD / Intel GPU 上则会退回到 CPU 运行。babelscribe 的优势在于支持任意 GPU、无需配置,并通过社区微调模型提升泰语 / 印地语效果。如果你使用 NVIDIA 显卡并喜欢 Python,faster-whisper 也是不错的选择。
语言
支持 Whisper 训练过的全部 99 种语言,可自动检测,也可通过 -l 指定:
af am ar as az ba be bg bn bo br bs ca cs cy da de el en es et eu fa fi fo fr gl gu ha haw he hi hr ht hu hy id is it ja jw ka kk km kn ko la lb ln lo lt lv mg mi mk ml mn mr ms mt my ne nl nn no oc pa pl ps pt ro sa sd si sk sl sn so sq sr su sv sw ta te tg th tk tl tr tt uk ur uz vi yi yo yue zh
准确度取决于 Whisper 自身的训练数据:资源丰富的语言(英语、西班牙语、日语……)效果出色,
资源较少的语言则较弱。这正是混合模式的用武之地 — 只需在 babelscribe/models.py 中用一行代码接入某种语言的社区微调模型(目前支持泰语和印地语)。为其他
语言添加微调模型的 PR 是最有价值的贡献。
局限性(如实说明)
- 目前已在 AMD Radeon RX 9070 XT(Windows、Vulkan)上完成端到端测试。CUDA、Linux 和 macOS 构建版本由 CI 生成;欢迎提供这些设备上的使用报告。
- 混合模式会运行两个模型,因此速度较慢(在这款 GPU 上使用大型微调模型时,每分钟音频约需 1 分钟)。
- 专有名词仍可能拼错 — 发布字幕前请检查人名和地名。
功能
- 支持任意输入格式 — mp4、mkv、mov、mp3、wav、m4a……(通过
imageio-ffmpeg捆绑 ffmpeg)。 - 支持任意语言 —
-l auto可自动检测语言;也可传入-l th、-l ja、-l es…… - 自动选择合适的 GPU — 优先使用独立显卡而非集成显卡;
babelscribe devices可列出显卡,--device N可覆盖默认选择。 - 长文件不会陷入循环 — 运行 whisper 时使用
--max-context 0,可避免长录音中经典的“同一句话无限重复”幻觉。 - 混合模式,让你的语言拼写更准确 — 社区微调模型(例如泰语 Thonburian Whisper)的拼写准确得多,但往往会丢失时间戳。
--text-model使用微调模型的文本和large-v3-turbo的时间信息,逐字符对齐(适用于没有空格的语言),只在词边界处切分;若微调模型漏掉了词,则由时间模型补齐。 --accurate— 速度较慢,但错误最少:使用带 beam search 的 large-v3;泰语和印地语则使用最佳社区微调模型(混合模式)。根据上方的 FLEURS 基准测试为每种语言选择模型。- 自定义词汇 —
--prompt "Pitakpong, babelscribe"会向 whisper 提供初始提示词,引导人名和专业术语的拼写。在 MCPtranscribe工具中,对应的参数是vocabulary。设置提示词后,不会传入--max-context 0(否则 whisper.cpp 会忽略提示词)。 - 输出格式 —
srt、vtt、txt、json(包含词元时间信息的片段)。
用法
babelscribe talk.mp4 -f srt,vtt,txt,json # all formats
babelscribe podcast.mp3 -l en -m large-v3 # pick language and model
babelscribe talk.mp4 -l hi --accurate # slower, fewest errors (best model per language)
babelscribe vo.wav -l th --text-model thai-thonburian # hybrid: pick a Thai fine-tune yourself
babelscribe talk.mp4 --prompt "Pitakpong, babelscribe" # bias the spelling of names and terms
babelscribe devices # GPUs whisper.cpp can see
babelscribe models # models and fine-tunes
babelscribe talk.mp4 --bin /path/to/whisper-cli # use your own whisper.cpp build
通过 Python 使用:
from babelscribe.api import transcribe_file
r = transcribe_file("talk.mp4", lang="auto", formats=["srt", "txt"]) # or accurate=True, prompt="names, terms"
print(r["lang"], r["device"], r["files"]); print(r["text"][:200])
模型会在首次使用时下载到 ~/.babelscribe/models(可通过 BABELSCRIBE_MODELS 更改)。混合模式微调模型会在你的
电脑上从其原始 Hugging Face 仓库转换 — 只需安装一次 pip install "babelscribe[finetune]";转换后的权重不会
重新分发,因此每个微调模型都保留自己的许可证。泰语词边界处理:pip install "babelscribe[thai]"。
路线图
后续计划(字幕行换行、长文件的 MCP 进度、文件夹批量处理、翻译成英语、更多微调模型)见 ROADMAP.md 和未解决的问题。
添加语言微调模型
在 babelscribe/models.py 的 FINETUNES 中添加一条记录(包含 Hugging Face 仓库、语言代码、是否需要 beam search),然后提交 PR。
预构建二进制文件
.github/workflows/build-binaries.yml 会为上表中的每一行构建 whisper-cli + whisper-quantize,并将它们附加到每个 v* 版本发布中。将 BABELSCRIBE_RELEASES 指向其他 URL 即可自行托管。
泰语
无需输入命令即可通过 Claude Desktop 使用:从 Releases 页面下载 babelscribe.mcpb 并双击,然后在聊天中输入 "为下载文件夹中最新的视频制作泰语字幕"
可转录任何语言的音频或视频文件,支持各种品牌的显卡(AMD / NVIDIA / Intel 通过 Vulkan,Apple 通过 Metal)或 CPU。
泰语推荐使用 babelscribe 文件.mp4 -l th --accurate — 使用 Pathumma Whisper (NECTEC) 生成文本,在 FLEURS 中错误最少(CER 8.9%,而 turbo 为 15.9%),并使用 large-v3-turbo 提供时间信息。
也可以自行选择 Thonburian Whisper:--text-model thai-thonburian
隐私政策
babelscribe 完全在你自己的计算机上运行。最后更新日期:2026-10-06。
- 数据收集: 无。babelscribe 不使用遥测、分析、账户或崩溃报告功能,也绝不会将你的音频、视频、转录文本或文件名上传到任何地方。
- 处理内容及位置: 你选择的媒体文件会在本地转换并转录;字幕和文本会写入你的磁盘(与文件放在一起,或写入你选择的文件夹)。通过 MCP,转录文本会返回给调用该工具的 AI 应用——该应用如何处理这些内容,由其自身的隐私政策决定。
- 网络访问(仅用于下载): 首次使用时,它会从本项目的 GitHub releases 下载
whisper-cli程序,从 Hugging Face(huggingface.co/ggerganov/whisper.cpp,以及使用--accurate处理泰语/印地语时所用微调模型的仓库)下载语音模型,并在通过 pip/uv 安装时从 PyPI 下载 Python 包。这些都是普通下载;不会发送任何个人数据。GitHub、Hugging Face 和 PyPI 会根据各自的隐私政策看到常规下载请求(IP 地址、用户代理)。 - 存储与保留: 下载的程序和模型会缓存在
~/.babelscribe(或BABELSCRIBE_HOME/BABELSCRIBE_MODELS)中,直到你删除该文件夹。输出文件会一直保留在写入位置,直到你将其删除。babelscribe 不会保留其他数据。 - 第三方共享: 无。
- 联系: 请在 https://github.com/phonology024/babelscribe/issues 提交 issue。
致谢与许可
MIT。基于 whisper.cpp(MIT)和 OpenAI Whisper 模型(MIT)构建。 微调模型归其作者所有:Pathumma Whisper 由 NECTEC 提供, Thonburian Whisper 由 biodatlab 提供, whisper-hindi-large-v2 由 vasista22(Speech Lab, IIT Madras)提供。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。