ebook2audiobook 是一款开源的电子书转有声书工具,支持 1107+ 种语言和多种 TTS 引擎(XTTSv2、Bark、VITS 等),可选语音克隆,自动分割章节并保留元数据。Windows/Linux/MacOS 全平台支持,提供 Web GUI、Docker、Colab 一键部署。

🎤 引言

手头有一堆 EPUB 想通勤路上听,又嫌 TTS 软件发音塑料感太强?想听自己的小说但录完整本又累到吐血?

GitHub 上有个叫 ebook2audiobook 的项目,靠 Coqui XTTSv2 把这事儿自动化了——19.3k Star、14207 次 commit,社区里讨论热度不低。最大卖点是支持 1107 种语言(README 写的是 1158,可能是不同 TTS 引擎覆盖范围差异),还能用一段参考音频做语音克隆

不是新项目,但最近一次更新很频繁,对中文支持也走 ISO-639-3 代码。下面展开聊聊它到底能干啥、坑在哪。


⭐ 核心功能

1. 多 TTS 引擎支持

README 列出来的引擎一长串:XTTSv2BarkFairseqVITSTacotron2TortoiseGlowTTSYourTTS。默认走 XTTSv2(语音克隆效果最自然),其他引擎可在 headless 模式下手动切换。不同引擎对硬件要求差别挺大,VITS 速度最快但音色选择少,Tortoise 音质好但慢到怀疑人生。

2. 1107+ 种语言

这是它最大的差异化卖点。基于 Fairseq 的多语言模型,加上 XTTSv2 的语言扩展,覆盖度比同类项目(Kokoro、ChatTTS、OpenVoice)广得多。中文用 zhocmn,英文用 eng,ISO-639-1 两字母代码也认。

3. 语音克隆(Voice Cloning)

传一段参考音频(ref.wav,10 秒以上),工具会用你的音色合成全书。这也是双刃剑——官方 README 开头专门加了 IMPORTANT 警告:"仅限合法获取的非 DRM 电子书使用,作者不对任何滥用负责"。GitHub Issues 里也有人反馈被滥用做 deepfake 的担忧。

4. 自动章节分割 + 元数据

借 Calibre 解析 EPUB/PDF/MOBI,按章节切片生成独立音频文件,附带标题、作者、封面等元数据。最终输出可以直接丢进 audiobook 播放器(手机自带的、Apple Books、foobar2000 等)。

5. 三种使用方式

  • Gradio Web GUI:浏览器点点鼠标,上传 → 选语音 → 生成
  • 命令行 headless 模式:脚本党友好,能挂 cron
  • Docker 部署:CUDA / ROCM / XPU / JETSON 都有官方镜像,CPU 也能跑(4GB 内存起步)

📥 安装与使用

最省事:Hugging Face Space

项目作者在 HF 上挂了免费 Space,直接上传文件就能用:

https://huggingface.co/spaces/drewThomasson/ebook2audiobook_v1.0

不用自己折腾 GPU 配额,但要注意排队时间,免费 Space 资源紧张。

本地快速跑(Docker)

# CPU 版
docker run -v "./ebooks:/app/ebooks" \
           -v "./audiobooks:/app/audiobooks" \
           -v "./models:/app/models" \
           -v "./voices:/app/voices" \
           -v "./tmp:/app/tmp" \
           --rm -it -p 7860:7860 \
           athomasson2/ebook2audiobook:latest

打开 http://localhost:7860 就是 Web 界面。GPU 版把 --gpus all 加上、镜像换成 cu126 之类的 tag,速度差几十倍。

命令行模式(Linux/Mac)

./ebook2audiobook.command --headless \
  --ebook ./test_books/mybook.epub \
  --voice ./voices/ref.wav \
  --language zho

中文文档里 zho(ISO-639-3)和 cmn 都行,工具会自动 fallback 到默认。

Google Colab 一键版

项目 README 里给了 Colab 链接,白嫖 GPU 不求人,缺点是会话会超时断线,长书得续跑。

GitHub 仓库里 README 写得很细,各种报错 FAQ(脚本停了重连要刷新 GUI 页面这类小坑都列了)。


🎯 适用场景

  • 通勤族听书:手头 EPUB/MOBI 太多,眼睛看不过来,TTS 转一遍丢进手机
  • 网文/小说出海:跨国翻译出版前用克隆音色生成试听 demo
  • 视障/阅读障碍辅助:GitHub Discussions 里看到有人反馈做无障碍用途效果不错
  • 播客内容生产:把文章/书转语音做节目素材
  • 冷门语种听书:1100+ 语种支持是小语种学习党的福音

不适合:实时对话场景(延迟太高)、需要高度情感表现力的有声书(AI 朗读平板感还在)。


🔍 对比/替代方案

工具优势劣势
ebook2audiobook1100+ 语种、克隆、多引擎、GUI 全资源占用大、中文音色少
Kokoro TTS轻量、中文自然度高不支持克隆、需自己接 Calibre
ChatTTS中文表现好、开箱即用无多语种、无章节分割
OpenVoice克隆效果好、API 友好只做克隆不做整书转换
微软 Azure TTS商用级音质、稳定收费、克隆需额外认证

ebook2audiobook 的核心壁垒是端到端流水线:Calibre 解析 → 章节切片 → 多 TTS 引擎 → 克隆 → 元数据封装,一套全包。其他方案要么缺前端、要么缺后端,需要自己拼。


⚠️ 注意事项

1. 硬件门槛

README 写"4GB 内存可运行",但实际跑 XTTSv2 至少要 8GB 显存才有合理速度。CPU 模式长书(300 页+)可能要等几小时。

2. 中文支持的真实体验

虽然支持 zho/cmn,但社区反馈中文朗读的韵律比 ChatTTS 这种专做中文的模型弱一点。商业有声书级别(情绪起伏、口音)还达不到,自用听个响没问题。

3. 合法使用边界

官方多次强调:仅限合法获取的非 DRM 电子书。DRM 破解、盗版有声书制作都违反 ToS,且在很多司法管辖区违法。GitHub Issues 里也有人在问能不能去掉 DRM——作者一直硬刚拒绝。

4. Docker 镜像更新滞后

旧版 athomasson2/ebook2audiobookxtts 已经标记 legacy,新版统一到 athomasson2/ebook2audiobook。看到博客/教程用老镜像的要注意切换。

5. Gradio 会话问题

README 特别提到:"脚本停了重跑需要刷新 GUI 页面才能连上新 socket"——这是新手最常踩的坑,别以为是 bug。

GitHub Issues 里搜索 "common issues" 标签能避开大部分坑。


✅ 总结

优点

  • 端到端流水线,从 EPUB 到带章节的 m4b/audio 一气呵成
  • 1100+ 语种覆盖,同类项目无出其右
  • 语音克隆免费可用,效果虽不如商业但够自用
  • 部署方式齐全:HF Space、Colab、Docker、本地脚本任选

缺点

  • 中文朗读自然度不如专做中文的模型
  • 资源占用大,老电脑跑不动
  • DRM 严格不碰,对商业有声书场景价值有限

推荐指数:⭐⭐⭐⭐(开源领域)

适合想把自有电子书库批量转有声书的玩家,以及冷门语种听书需求的用户。如果你只听中文、且对音质要求高,建议先试试 ChatTTS 或 Azure;如果是想一条龙搞定多语种 + 克隆,ebook2audiobook 仍是目前 GitHub 上最成熟的方案。

仓库地址:https://github.com/DrewThomasson/ebook2audiobook