ebook2audiobook:本地电子书转有声书工具
在本地把电子书转成有声书的开源工具,内置多种 TTS 引擎,支持语音克隆和 1158 种语言,可输出带章节与元数据的 m4b,无需云服务,最低 2GB 内存即可运行。
项目资料
GitHub Ecosystem- 许可证
- Apache-2.0
- 主语言
- Python
- 星标
- 20,221
- 核查时间
- 2026-09-25
以上快照资料以核查当日为准,可能随版本或运营策略变化。
ebook2audiobook 在本地完成电子书到有声书的转换:调用多种开源语音合成引擎,把 epub、mobi 与 pdf 等常见格式的电子书变成带章节与元数据的有声书,全程不依赖云服务,也不需要 API Key。它针对的问题很直接:手头的存量电子书是静态文本,想听就需要一条低成本的合成路径。GitHubDaily 在 2025 年 1 月曾推荐过这个项目。
核心功能
- 多引擎可选:合成引擎有 XTTSv2、Bark、VITS、Fairseq 等多种,可按语言切换;纯 CPU 机器建议换用 YourTTS 或 Tacotron2 这类轻量方案。
- 语音克隆:通过
--voice传入一段自己的录音,就能用这个音色朗读整本书。 - 多语言覆盖:支持 1158 种语言和方言,中文、日语、法语都在其中,语言标记可用 ISO-639-3 三位码,也可用简单的两位码。
- 格式进出较全:输入覆盖 epub、mobi、txt 与 pdf 等二十多种电子书,扫描图片页可 OCR;输出默认 m4b,保留章节与元数据,另可选 mp3、wav 等格式。
- 低资源运行:官方标称最低 2GB 内存、1GB 显存(推荐 8GB 内存),支持 CPU、CUDA、ROCm、Apple Silicon 等硬件。
- 网页与命令行两用:既可起一个本地网页界面,也能用无头命令批量转换,并可直接对接 Audiobookshelf。
典型使用场景
- 把积压的 epub、mobi 电子书批量转成保留章节信息的 m4b,导入自建的 Audiobookshelf 听书库。
- 用自己的声音,做成个人朗读风格的听书。
- 在没有独显的旧电脑或 Mac 上离线转换,书籍内容不必交给第三方服务。
快速上手
克隆仓库后,Linux/macOS 运行对应脚本,浏览器打开 http://localhost:7860 即可使用网页界面:
git clone https://github.com/DrewThomasson/ebook2audiobook.git
cd ebook2audiobook
./ebook2audiobook.command
批量转换走无头模式:
./ebook2audiobook.command --headless --ebook <电子书路径> --voice <声音文件> --language <语言代码>
Windows 侧提供 ebook2audiobook.cmd,其 Docker 模式需要开启虚拟化。
小结
适合想把藏书变成听书的个人读者、自建听书库的爱好者,以及需要离线语音合成或声音克隆能力的开发者。功能完整、约束清晰,但合成质量与速度取决于所选引擎和硬件,建议先小批量试听再批量转换。项目采用 Apache-2.0 协议,仅限非 DRM 的合法获取的电子书;新一代大模型 TTS 只靠 CPU 会很慢,低配设备建议选轻量引擎;EPUB 没有标准的章节结构,转换前要自己清理不希望被读出的内容。另外,当年推荐推文中的「1107 种语言」「4GB 内存」已过时,本文按项目当前文档更新为 1158 种语言和最低 2GB 内存。