mcpField
C
claudio-audiobook

claudio-audiobook

本地服务
github.com/restante媒体与设计02 周前更新

关于 claudio-audiobook

claudio-audiobook 是本地 MCP 服务和命令行工具,可用 Kokoro 声音将文本制作成分章节的有声书。适合制作课程朗读或转换个人文档;音频在本机生成,完成设置后可离线使用。

主要功能

  1. 01借助 AI 助手创作有声书文本
  2. 02使用 Kokoro 在本地合成语音
  3. 03导出带章节标记的 M4B
  4. 04选择声音与朗读设置
  5. 05通过命令行制作有声书

适用场景

  1. 01将课程大纲制作成分章节朗读
  2. 02通勤时收听 Markdown 文档
  3. 03把复习笔记制作为有声书

MCP 相关

stdio MCP 服务向兼容客户端提供本地制作有声书的工具。也可不使用 AI 客户端,直接通过命令行操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"restante-claudio-audiobook": {
"command": "uvx",
"args": [
"claudio-audiobook"
],
"env": {
"CLAUDIO_AUDIOBOOK_VOICE": "<CLAUDIO_AUDIOBOOK_VOICE>",
"CLAUDIO_AUDIOBOOK_SPEED": "<CLAUDIO_AUDIOBOOK_SPEED>",
"CLAUDIO_AUDIOBOOK_FORMAT": "<CLAUDIO_AUDIOBOOK_FORMAT>",
"CLAUDIO_AUDIOBOOK_AUTHOR": "<CLAUDIO_AUDIOBOOK_AUTHOR>",
"CLAUDIO_AUDIOBOOK_OUTPUT": "<CLAUDIO_AUDIOBOOK_OUTPUT>"
}
}
}
}
启动命令uvx claudio-audiobook
需要配置的环境变量
CLAUDIO_AUDIOBOOK_VOICEDefault Kokoro voice, e.g. af_heart or a blend af_heart:0.6,af_sky:0.4
CLAUDIO_AUDIOBOOK_SPEEDDefault speed, 0.5 to 2.0
CLAUDIO_AUDIOBOOK_FORMATDefault format: m4b (chapters), mp3 or wav
CLAUDIO_AUDIOBOOK_AUTHOR密钥Default author tag shown by audiobook players
CLAUDIO_AUDIOBOOK_OUTPUTFolder where audiobooks are saved (default ~/Audiobooks)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiclaudio-audiobook0.2.0

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
filestring否
langstring否
trimboolean否
coverstring否
forceboolean否
speednumber否
titlestring否
voicestring否
authorstring否
formatstring否
dry_runboolean否
markdownstring否
narratorstring否
output_dirstring否
clause_pausenumber否
cover_colorsstring否
chapter_pausenumber否
model_variantstring否
sentence_pausenumber否

详细介绍

🎧 claudio-audiobook

一个能让 AI 助手制作有声书的 MCP 服务

只需说 “制作一本 Python 课程有声书”。AI 撰写内容,本地语音朗读。免费、私密、离线。

适用于 Claude Desktop · Claude Code · Cursor · VS Code (Copilot) · Gemini CLI · Codex CLI · 任何 MCP 客户端

CI License: MIT Release MCP server Python 3.10+ Runs locally

安装 · 试听 · 示例 · 语音 · 设置


简介

claudio-audiobook 是一个 模型上下文协议(MCP)服务。将它添加到 AI 助手后,助手便能在你的电脑上把文本转换成有声书。它优先针对 Claude(Desktop 和 Code,支持一键扩展和插件)构建并测试,也适用于其他支持 MCP 的工具。它还提供纯命令行模式,可在不使用 AI 的情况下运行。

工具安装方式
Claude Desktop一键安装 .mcpb 扩展
Claude Code插件,或 claude mcp add
Cursormcp.json
VS Code (GitHub Copilot)mcp.json
Gemini CLIsettings.json
Codex CLI (OpenAI)config.toml
任何其他 MCP 客户端,或不使用 AIstdio 命令 / 命令行

不支持:无法运行本地 MCP 服务的网页聊天应用(ChatGPT 和 Gemini 网站)。

为什么选择它

文本转语音 API 按字符收费,并会将你的文本发送到其他人的服务器。有声书应用只能播放已经存在的书籍。**claudio-audiobook 填补了这一空缺:**你描述想要的有声书,Claude 将其写成适合朗读的文字,再由 8200 万参数的 Kokoro 语音在你自己的电脑上朗读。

claudio-audiobook云端 TTS API有声书应用
为你创作内容✅❌❌
每小时音频费用£0按字符收费订阅
文本离开你的电脑从不总是不适用
API 密钥或账户无需必需必需
文件中包含章节(.m4b)✅自行处理✅
设置完成后可离线使用✅❌部分支持

试听

未经编辑的真实输出。语音 bf_emma,内容来自 docs/samples/python-intro.md:

▶ python-intro-bf_emma.mp3(18 秒,109 KB)

作者在 Mac 上仅用 CPU,约 6 秒就生成了这个示例。一套真实的 11 章、36 分钟考试课程约耗时 3 分钟。

60 秒内完成安装

Claude Code 需要安装 uv(安装说明: macOS 使用 brew install uv,Windows 使用 winget install --id=astral-sh.uv -e)。其他所有内容(包括 ffmpeg)都会自动为你安装。语音模型约 330 MB,仅需下载一次,并会在首次使用时下载。

Claude Code
/plugin marketplace add restante/claudio_audiobook
/plugin install claudio-audiobook --marketplace restante/claudio_audiobook

只想安装 MCP 服务,不需要技能?

claude mcp add claudio-audiobook -- uvx --from claudio-audiobook claudio-audiobook-mcp
Claude Desktop
  1. 从 Releases 下载 claudio-audiobook-<version>.mcpb。
  2. 使用 Claude Desktop 打开它(Settings → Extensions)。
  3. 可选:在扩展设置中设置默认语音、语速和文件夹。

桌面应用会自行安装依赖。

想在 Desktop 中使用 Pocket TTS 引擎? 从同一个 Releases 页面安装 claudio-audiobook-pocket-<version>.mcpb,而不是标准版本(两者择一安装)。它会添加 Pocket TTS(支持 7 种语言,可克隆语音)和“Default engine”设置。首次启动时会下载 PyTorch 和语音引擎,约 1 GB:测试中,快速连接下不到一分钟,慢速连接则需要更久;在下载完成前,Claude 可能会显示扩展失败(请等待,然后重新连接)。

其他 AI 工具

这是标准的 MCP 服务(stdio),并不局限于 Claude。安装一次后,将你的工具指向它:

uv tool install claudio-audiobook                                   # from PyPI; puts claudio-audiobook-mcp on your PATH
claudio-audiobook download-model                                    # the voice model, about 330 MB, once
claudio-audiobook doctor                                            # checks everything is in place

先安装很重要:首次运行 uvx 时必须下载并安装所有内容,这可能会超出客户端的启动超时时间。如果你的工具找不到该命令,请使用其完整路径(which claudio-audiobook-mcp)。

Cursor · ~/.cursor/mcp.json 或 .cursor/mcp.json
{
  "mcpServers": {
    "claudio-audiobook": {
      "type": "stdio",
      "command": "claudio-audiobook-mcp"
    }
  }
}
VS Code (GitHub Copilot) · .vscode/mcp.json 或运行 MCP: Open User Configuration
{
  "servers": {
    "claudio-audiobook": {
      "type": "stdio",
      "command": "claudio-audiobook-mcp"
    }
  }
}

使用 Agent 模式,让 Copilot 能够调用工具。

Gemini CLI · ~/.gemini/settings.json
{
  "mcpServers": {
    "claudio-audiobook": {
      "command": "claudio-audiobook-mcp"
    }
  }
}

或运行 gemini mcp add --scope user claudio-audiobook claudio-audiobook-mcp。使用 /mcp 检查。

Codex CLI (OpenAI) · ~/.codex/config.toml
[mcp_servers.claudio-audiobook]
command = "claudio-audiobook-mcp"
startup_timeout_sec = 60

或运行 codex mcp add claudio-audiobook -- claudio-audiobook-mcp。Codex 默认只等待服务启动 10 秒,因此请像上文所示调高 startup_timeout_sec。使用 codex mcp list 检查。

在同一配置中使用 CLAUDIO_AUDIOBOOK_* 环境变量设置默认值(语音、语速、文件夹),例如 "env": { "CLAUDIO_AUDIOBOOK_VOICE": "bf_emma" }。任何能够运行 shell 的 Agent 也可以直接使用命令行。

状态: 已使用通用 MCP stdio 客户端检查该服务(握手、工具列表、试运行),并对工具架构进行了测试,以避免使用 Cursor 和 Gemini 处理不当的结构。上述配置遵循各工具的当前文档,但尚未在这些工具内部实际运行。如果你遇到问题,请提交 issue。

示例

直接提出需求即可。Claude 会与你确认范围,撰写文本,展示章节列表和时长,在后台生成音频,并告诉你文件所在位置。

从零开始制作课程

制作一部 Python 入门课程有声书,时长约 1 小时,使用沉稳的英式口音

使用你自己的文本

将 ~/notes/book.md 转换成有声书。

用日常语言调整效果

慢一点 · 换一种声音 · 混合 af_heart 和 bf_emma,比例为 60/40 · 增加句子之间的停顿 · 制作成 mp3

可以用它做什么

  • 🎓 复习笔记或考试课程,通勤时也能听
  • 📰 做饭时收听长篇文章或论文
  • 🧒 用你挑选的声音讲睡前故事
  • 🌍 语言练习:用 if_sara 朗读意大利语文本,或用法语口音朗读英语文本
  • 💼 将入职文档或团队手册制作成播客风格的音频文件

你将获得

~/Audiobooks/python-for-beginners/
├── python-for-beginners.m4b      ← one file, with chapter marks
├── 01-welcome.wav
├── 02-variables.wav
└── ...

从已完成的 .m4b 文件中读取的封面、标签和章节列表

命令行

一次实际运行(来自 docs/samples/python-intro.md):已处理 3 个章节,输出 1 个带章节标记的 .m4b 文件。

终端:claudio-audiobook 将 3 个章节合成为 m4b

已有文本无需 Claude:

uvx --from claudio-audiobook \
  claudio-audiobook build book.md --voice bf_emma --speed 0.95

渲染前先预览。这是实际输出:

$ claudio-audiobook build course.md --dry-run
  1  01-welcome.wav                                 ~  0.1 min
  2  02-variables.wav                               ~  0.1 min
  3  03-loops.wav                                   ~  0.1 min
3 chapters, about 0.0 h of audio

章节从 # headings(或类似 Chapter 3 的行)开始;没有标题的文件会被切分成多个部分。 如果中途中断,重新运行即可:已完成的章节会保留,只有文本或设置发生变化的章节会重新生成。

随处播放:章节、标签和封面

默认输出为 M4B,即标准有声书文件:包含章节标记的 AAC 音频、播放器用于将其归入 Audiobooks 的标签(标题、作者、讲述者、流派“Audiobook”),以及封面。

生成的标题封面
  • 自动为你制作封面,在本地完成。让 AI 选择风格(“深绿色封面”):它会挑选颜色,并将其作为 cover_colors 传入。也可以提供自己的图片:“使用 ~/Pictures/cover.png”(--cover)。放在书籍文件夹中的 cover.jpg 或 cover.png 也会被使用。--cover none 可跳过封面。
  • 作者和讲述者信息来自对话(“作者是 Ada Lovelace”)或 --author 标志。可在桌面扩展设置中设置一次默认作者。
  • 生成的封面使用内置的拉丁字体:中文、日文或韩文标题会显示为空白方框,因此请为这些书籍提供自己的封面图片。

导入到:

位置方法
Apple Books(Mac、iPhone、iPad)将 .m4b 拖到 Books 中,或从 Files 中分享
BookPlayer(iOS,已测试章节)、Audiobookshelf、Plex将其添加到媒体库文件夹或直接导入
Voice、Smart AudioBook Player、Listen(Android)打开文件,或将其复制到有声书文件夹
VLC、Foobar2000可以播放。测试中,iOS 版 VLC 未显示章节列表,因此查看章节请使用 BookPlayer 或 Apple Books

对于无法读取 M4B 的播放器(例如某些车载音响),请选择 --format mp3。Audible 和 Kindle 使用封闭格式,无法导入该文件。

可选的第二种引擎:Pocket TTS

Pocket TTS(Kyutai,1 亿参数)是可选的第二种语音引擎。作者进行的小规模盲听测试(1 位听众)中,Pocket TTS 在中性英语方面更受青睐,意大利语也被认为不错。它在笔记本电脑 CPU 上的速度与 Kokoro 相当(Apple M1 上约为实时速度的 4 倍),支持英语、意大利语、法语、德语、葡萄牙语、西班牙语和荷兰语,内置 27 种声音,还可以根据短音频片段克隆声音。默认引擎仍为 Kokoro。

uv tool install claudio-audiobook --with pocket-tts      # or: pip install claudio-audiobook pocket-tts
claudio-audiobook voices --engine pocket
claudio-audiobook build libro.md --engine pocket --lang it

在对话中提出要求即可使用:“使用 pocket 引擎,用意大利语”。与 Kokoro 的差异如下,避免设置被静默忽略:

  • 不支持 speed、clause_pause 或 trim 设置(要求更改语速会报错)。句子和章节间的停顿设置有效。
  • voice 可以是目录中的名称(alba、giovanni 等),也可以是用于克隆的 5 至 30 秒干净音频片段的路径。**只能克隆你有权使用的声音。**如果省略此项,每种语言都会使用其默认声音(意大利语:giovanni)。
  • 在 Claude Desktop 中,请使用单独的 claudio-audiobook-pocket 扩展(见“安装”)。标准扩展只安装默认依赖项,不包含 Pocket TTS。
  • 每种语言的模型(约 400 MB)会在首次使用该语言时从 Hugging Face 下载一次。
  • Pocket TTS 权重 © Kyutai,采用 CC BY 4.0 许可;代码采用 MIT 许可。

54 种声音,9 种语言

American English: af_heart, af_bella, af_nova, am_adam, am_michael, ...
British English:  bf_emma, bf_isabella, bm_george, bm_lewis, ...
Italian:          if_sara, im_nicola
Spanish:          ef_dora, em_alex          French: ff_siwis
Hindi, Japanese, Brazilian Portuguese, Mandarin Chinese ...

将两种声音混合成一种新声音:--voice af_heart:0.6,bf_emma:0.4。使用 claudio-audiobook voices 可列出所有声音。

每项设置

可用作 MCP 工具参数、CLI 标志,以及(前五项和作者设置)Desktop 设置中的默认值或 CLAUDIO_AUDIOBOOK_* 环境变量。

设置CLI 标志值默认值
引擎--enginekokoro(默认)或 pocket(可选,见下文)kokoro
声音--voice名称(af_heart、bf_emma、im_nicola,……共 54 种声音、9 种语言)或混合声音 af_heart:0.6,af_sky:0.4af_heart
语速--speed0.5 到 2.01.0
语言--langespeak 代码,例如 de;让声音带着口音朗读另一种语言声音本身的语言
模型--modelfull(最佳)或 lite(92 MB,速度更快)full
格式--formatm4b(带章节)、mp3、wavm4b
句间停顿--sentence-pause0 到 5 秒0.25
从句间停顿--clause-pause0 到 5 秒(逗号、冒号后)0.1
章节间停顿--chapter-pause0 到 30 秒1.5
剪除静音--no-trim剪掉句末静音,或保留静音剪除
作者--author播放器显示的作者CLAUDIO_AUDIOBOOK_AUTHOR,否则为空
旁白者--narrator显示为旁白者Kokoro (<voice>)
封面--cover.jpg/.png 路径、none,或省略以生成标题封面自动生成
封面颜色--cover-colors生成封面的 #top,#bottom根据标题选取
输出文件夹-o / output_dir任意文件夹~/Audiobooks/<title>

--dry-run 显示章节和预估时长,但不进行渲染。--force 会重新执行所有操作。 claudio-audiobook doctor 会检查安装情况。

工作原理

 "create a python course"
          │
          ▼
   Claude writes spoken-style markdown   ← the skill / prompt teaches it to write for the ear
          │
          ▼
   MCP server: make_audiobook            ← runs as a detached job; survives a restart of Claude
          │
          ▼
   Kokoro (ONNX) renders each chapter    ← local, resumable, voice blends, pauses
          │
          ▼
   ffmpeg packs .m4b with chapter marks  ← bundled, nothing to install

提供四个 MCP 工具(make_audiobook、audiobook_status、list_voices、setup_check)、一个 write_audiobook 提示词 和一个 audiobook 技能。可与任何能运行本地 stdio 服务的 MCP 客户端配合使用。

隐私

claudio-audiobook 在你的设备上运行。你的文本和音频绝不会上传,也没有遥测、账户或 API 密钥。

它只会通过网络执行两种操作:从 PyPI 安装软件包及其依赖项(由 uv 或 pip 完成),以及一次性下载声音模型:从 GitHub 发布页下载 Kokoro,并通过 SHA-256 校验和进行验证;或者,如果你选择可选的 Pocket 引擎,则从 Hugging Face 下载其模型和声音。它只会启动自己的程序:捆绑的 ffmpeg、语音引擎的启动检查,以及本软件包的 后台工作进程。它不会读取或发送凭据。其设置由 CLAUDIO_AUDIOBOOK_* 环境变量提供,路径中仅会展开主目录(~、$HOME)。

常见问题

需要付费吗? 不需要。Claude 本身使用你已有的套餐;声音免费且在本地运行。

声音效果如何? 你可以自行判断:收听示例。Kokoro 是最佳小型 开源 TTS 模型之一,但它不是人类旁白者。朗读通常清晰自然,但遇到不常见的人名时,偶尔会出现重音奇怪的情况。

需要 GPU 吗? 不需要。它使用 CPU 运行。

支持 Windows / Linux 吗? 代码可跨平台运行,CI 也会执行测试。Claude Desktop 目前已在 macOS 上测试; Windows 尚未完成端到端测试。欢迎提交测试反馈。

可以使用其他声音模型吗? 将 CLAUDIO_AUDIOBOOK_MODEL_FILE 和 CLAUDIO_AUDIOBOOK_VOICES_FILE 指向 你自己的 Kokoro 文件副本即可。

参与贡献

欢迎提交问题和 PR,尤其是:Windows 测试、新语言和示例有声书。有关架构和规则,请参阅 CLAUDE.md。

uv venv --python 3.12 && uv pip install -e ".[dev]" && .venv/bin/pytest

如果它帮你省下了订阅费,点个 ⭐ 可以让更多人发现它。

MIT。声音由 Kokoro 提供,通过 kokoro-onnx 使用。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。