ebook2audiobook
把任何电子书一键变成专属私人声音朗读的有声书,支持1158种语言和声音克隆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
把任何电子书一键变成专属私人声音朗读的有声书,支持1158种语言和声音克隆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有过这样的经历:开车时想听本书,但通勤时间只有半小时,买纸质书又没时间看;或者眼睛疲劳时,仍然渴望继续「阅读」。ebook2audiobook 正是为这类场景而生——它是一个能把 EPUB、PDF、TXT 等常见电子书格式,自动转换成带有章节导航和元数据的高质量有声书的 AI 工具。
更令人惊艳的是,它还支持声音克隆:你可以用自己或家人朋友的声音来朗读整本书,让「听书」这件事变得私人化、情感化。
图1:ebook2audiobook WebUI 界面(Gradio 驱动)
Drew Thomasson 是一位热爱阅读的开发者,也是一位典型的效率工具控。他在 2024 年初创建了这个项目,动机非常简单——市面上虽然有声书众多,但绝大部分经典著作和冷门好书根本没有有声版本;现有 TTS 工具要么体验差,要么价格高。
他从最初的个人脚本起步,逐步迭代成一个功能完整的开源项目仓库。一年多时间里,项目获得了超过 19000 颗 GitHub Stars,成为 GitHub 2024 年增长最快的开源项目之一。另一位核心贡献者 Rob McDowell 也在项目中留下了深深的印记。
这个项目的增长速度是指数级的——从 0 到 10000 Stars 只用了不到一年,背后反映了整个 AI 社区对高质量、低成本有声书解决方案的强烈需求。
我们可以把 ebook2audiobook 的处理流程想象成一条自动化流水线:
第一步,电子书解析。项目依赖 pymupdf 和 ebooklib 来解析 EPUB、PDF、AZW、MOBI 等主流格式,将文本内容提取出来。遇到图片扫描版 PDF 时,还会调用 pytesseract(基于 Tesseract OCR)进行文字识别。
第二步,文本预处理与语言检测。对于中文、日文、韩文等 CJK 语言,项目使用 jieba、soynlp、nagisa、pythainlp 等分词工具进行处理;中文还支持 pypinyin 拼音转换。所有语言最终通过 uroman 统一转为拉丁字母,再喂给 TTS 引擎——这一步是支持 1158 种语言的关键。
第三步,TTS 语音合成。这是技术栈最复杂的部分。项目集成了多种 TTS 引擎:Coqui TTS 支持高质量神经网络语音和声音克隆;Piper TTS 提供本地快速推理;Bark 与 Tortoise 以高质量著称但速度较慢。对于中文,项目还集成了中文特定的处理管线,确保多音字、轻声、儿化音等细节都能被正确处理。
第四步,人声分离与降噪。使用 demucs(Meta 开源)进行音频源分离,去除背景噪音;用 openunmix 和 museval 进行音轨分离和评估,确保最终输出的音频质量。
第五步,元数据与章节整合。通过 mutagen 库将章节信息写入 MP3/M4B 文件的元数据,生成带章节导航的有声书。Calibre 工具链负责最终的格式转换和封面嵌入。
图2:任务配置界面,可选择 TTS 引擎、声音克隆参数等
如果说普通 TTS 是机器朗读,那声音克隆就是真人复刻。用户只需提供一段目标声音的音频(建议 30 秒到 5 分钟),Coqui TTS 的神经网络就能学习该声音的音色、语调、韵律特征,生成听起来非常自然的新音频。
普通 TTS 就像用手机默认输入法打字,而声音克隆就像专门为你定制了一把机械键盘——输入的还是同样的文字,但敲出来的感觉完全不同。
这里必须说明:声音克隆技术存在伦理风险。该项目在 README 中明确标注「仅用于非 DRM、合法获取的电子书」,作者也明确表示不对滥用行为负责。使用者应当遵守当地法律法规。
ebook2audiobook 在部署方式上做足了功夫:
本地 Docker 部署是推荐方案。项目提供单阶段 Dockerfile 和 docker-compose.yml,支持 CPU 和 GPU 两种 profile。GPU 模式下利用 NVIDIA CUDA 加速推理,CPU 模式对硬件要求更低。以 CPU 模式为例,一台 8GB 内存的机器即可运行,只需一条命令 docker compose --profile cpu up 即可启动 Gradio WebUI。GPU 模式(需要 NVIDIA 显卡加 NVIDIA Docker)则使用 docker compose --profile gpu up。
对于不想配置本地环境的用户,项目方还在 Hugging Face Spaces 和 Google Colab 上托管了可运行的示例,最快 2 分钟就能生成第一本有声书。
通过 pip install 源码安装适合有定制需求的高级用户,但需要注意依赖树较深(Coqui TTS、demucs、pyannote 等),首次安装可能需要较长时间。
图3:处理完成后的输出界面,显示生成的有声书文件
从技术栈来看,ebook2audiobook 是一个典型的 Python 全栈 AI 应用:
前端 UI 使用 Gradio 5.49.1 提供交互式 Web 界面,后端框架基于 FastAPI。核心 AI 层集成了 Coqui TTS、transformers 4.57+、pyannote-audio 等模型。音频处理用到 demucs、openunmix、pydub、lameenc。电子书解析依赖 pymupdf、ebooklib、python-docx。容器化采用 Docker 单阶段构建加 docker-compose。模型推理基于 PyTorch 加 ONNX Runtime GPU,自然语言处理则用 stanza、sentence-transformers、argostranslate。
代码结构采用模块化设计:app.py 为主入口,lib/ 存放核心处理逻辑,components/ 存放 Gradio UI 组件,models/ 和 voices/ 用于存储下载的模型和克隆声音。
客观地说,ebook2audiobook 并不是完美的。
安装复杂度较高是第一个挑战。依赖树很深,pip 安装容易遇到版本冲突;Docker 方式虽然屏蔽了这个问题,但镜像体积预计 5-10GB。
中文 TTS 质量参差不齐是第二个问题。虽然项目声称支持中文,但实际测试中,中文语音的自然度仍然不如英文,部分多音字处理偶有错误。
声音克隆需要伦理审慎。技术本身是中立的,但被滥用于诈骗、伪造言论的风险真实存在。项目方做了免责声明,但技术社区仍在讨论如何建立更好的防护机制。
处理速度受限于硬件。CPU 模式下,处理一本 20 万字的小说可能需要 1-2 小时;GPU 模式会快很多,但并非人人都有 NVIDIA 显卡。
ebook2audiobook 的出现,本质上解决了有声书内容供给不足和个性化需求两个核心痛点。传统有声书制作成本极高,而 AI 驱动的自动化流程将边际成本降至接近零。
从更宏观的角度看,这个项目代表了 AI 应用的一个新兴方向:个人化内容消费。未来的趋势不仅是 AI 帮你读书,更可能是 AI 用你喜欢的声线、你熟悉的语气、你指定的节奏来读给你听。
目前项目在 GitHub 上保持活跃迭代(最近更新于 2026 年 5 月),Discord 社区也有数千名成员。Hugging Face Spaces 版本的体验量持续增长,Drew Thomasson 也在持续听取社区反馈优化产品。
如果你有大量想「听」但没时间「读」的书,ebook2audiobook 是一个值得一试的工具——尤其是当你有 NVIDIA 显卡、想尝试声音克隆时,它能带来非常私人化的惊喜体验。