返回目录
开源项目AI 音频与语音类新手

ebook2audiobook (E2A):从电子书生成带章节与元数据的有声书(支持语音克隆与 1158 种语言)

ebook2audiobook(E2A)是一个开源电子书转有声书工具,可在 CPU/GPU 上把 epub、mobi、pdf、txt 等格式的电子书转换为带章节和元数据的有声书,内置 XTTSv2、Bark、VITS、Tacotron2、YourTTS、Fairseq 等多款 TTS 引擎,支持自定义声音克隆与 1158 种语言,提供 Gradio Web GUI、无界面(headless)命令与 Docker/Docker Compose/Podman Compose 部署方式。

0 次阅读2026/09/14 发布
ebook2audiobook (E2A):从电子书生成带章节与元数据的有声书(支持语音克隆与 1158 种语言) 来源图片

社区作者 · zZz

它解决什么问题

项目定位

E2A(ebook2audiobook)是一个把电子书转换为有声书的转换器,强调「带章节与元数据」,并使用先进 TTS 引擎,支持声音克隆与 1158 种语言。官方明确提示:本工具仅用于无 DRM、合法获取的电子书;作者不对误用及由此产生的法律后果负责,请遵守适用法律并负责任地使用。

主要功能

  • 🔧 支持的 TTS 引擎(特性列表中列出):XTTSv2、Bark、Fairseq、VITS、Tacotron2、Tortoise、GlowTTS、YourTTS。
  • 📚 支持转换多种文件格式:.epub、.mobi、.azw3、.fb2、.lrf、.rb、.snb、.tcr、.pdf、.txt、.rtf、.doc、.docx、.html、.odt、.azw、.tiff、.tif、.png、.jpg、.jpeg、.bmp、.zip。
  • 💻 提供 TextArea,可直接把短文本转换为音频。
  • 🔍 对以图片形式呈现文字的页面进行 OCR 扫描。
  • 🔊 高质量文本转语音,从接近实时到接近真人声音。
  • 🗣️ 可选语音克隆,使用你自己的声音文件。
  • 🌐 支持 1158 种语言(页面另附完整语言列表链接)。
  • 💻 低资源友好——最低可在 2 GB RAM / 1 GB VRAM 上运行。
  • 🎵 有声书输出格式:单声道或立体声的 aac、flac、mp3、m4b、m4a、mp4、mov、ogg、wav、webm。
  • 🧠 支持 SML 标签,可细粒度控制停顿、暂停、切换音色等。
  • 🧩 可选自定义模型:使用自己训练的模型(XTTSv2、VITS、FAIRSEQ、PIPER,其他可另行申请)。
  • 🎛️ 由 E2A 团队训练的微调预设模型;如需额外微调模型或希望把自己的模型加入官方预设列表,可联系作者。

硬件要求

  • 内存:最低 2 GB RAM,推荐 8 GB。
  • 显存:最低 1 GB VRAM,推荐 4 GB。
  • Windows 上运行(仅 Docker 场景)需开启虚拟化。
  • 计算后端:CPU、XPU(Intel、AMD、ARM)、CUDA、ROCm、JETSON、MPS(Apple Silicon CPU)。
  • 提示:现代 TTS 引擎在 CPU 上非常慢,CPU 场景建议使用 YourTTS、Tacotron2 等较低质量但更快的引擎。

界面与演示

  • 提供 Gradio Web GUI,启动后点击终端给出的 URL 访问,本地地址为 http://localhost:7860/(配图 1 为 Web GUI 演示,配图 2、配图 3、配图 4 为 GUI 界面截图)。
  • 页面给出多段演示音频/视频链接,包括「新默认音色 Demo」「ASMR Voice」「Rainy Day Voice」「Scarlett Voice」「David Attenborough Voice」。
  • 配图 5 为应用内示例界面。

支持的语言(页面示例)

阿拉伯语 ar、中文 zh、英语 en、西班牙语 es、法语 fr、德语 de、意大利语 it、葡萄牙语 pt、波兰语 pl、土耳其语 tr、俄语 ru、荷兰语 nl、捷克语 cs、日语 ja、印地语 hi、孟加拉语 bn、匈牙利语 hu、韩语 ko、越南语 vi、瑞典语 sv、波斯语 fa、约鲁巴语 yo、斯瓦希里语 sw、印尼语 id、斯洛伐克语 sk、克罗地亚语 hr、泰米尔语 ta、丹麦语 da,另有 1130 多种语言和方言见官方列表链接。

支持的电子书格式

  • .epub、.pdf、.mobi、.txt、.html、.rtf、.chm、.lit、.pdb、.fb2、.odt、.cbr、.cbz、.prc、.lrf、.pml、.snb、.cbc、.rb、.tcr。
  • 最佳效果:.epub 或 .mobi,可自动检测章节。

输出与处理格式

  • 输出:.m4b、.m4a、.mp4、.webm、.mov、.mp3、.flac、.wav、.ogg、.aac。
  • 处理格式可在 lib/conf.py 中修改。

SML 标签

  • [break] —— 静音(随机范围 0.3–0.6 秒)。
  • [pause] —— 静音(随机范围 1.0–1.6 秒)。
  • [pause:N] —— 固定暂停 N 秒。
  • [voice:/path/to/voice/file]...[/voice] —— 从默认音色或 GUI/CLI 中选定的音色切换为指定音色文件。
  • 官方另有专门仓库 E2A-SML,用于自动向电子书插入 SML 标签。

克隆音色与微调

  • 可上传任意支持音频格式的音色音频,理想时长约 1 到 5 分钟;即使录音有噪声背景或叠加音乐,E2A 也会为你清理音色。
  • 内置克隆音色列表主要为英语;如需官方加入其他语言音色,可联系作者审核后添加。
  • 提供 XTTSv2 微调:Universal_TTS_Finetune、训练数据去噪,以及合集的 Fine-Tuned TTS Models。
  • XTTSv2 自定义模型必须附一个音色参考的 ref 音频片段。
  • 可自行修改 lib/conf.py 与 models.py,但建议先备份原始文件,以便升级后恢复;想把自己的模型加入官方预设列表可联系作者。

回退到旧版本

  • 版本发布见 Releases。

命令:

可复制命令
git checkout tags/VERSION_NUM

(例如:

可复制命令
git checkout tags/v25.7.7

)。

常见问题(页面列出)

  • NVIDIA/ROCm/XPU/MPS GPU 未被检测到:参见 GPU ISSUES Wiki 页面。
  • CPU 速度慢(服务器 SMP CPU 表现更好),GPU 可接近实时转换;页面附带相关讨论,并说明该方案没有零样本语音克隆、音质为 Siri 级别,但在 CPU 上快很多。
  • 依赖问题:建议直接使用 Docker,它是完全自包含的,并带 headless 模式,可在 docker run 命令末尾加 --help 获取更多信息。
  • 音频被截断:官方明确希望用户提交 issue,因为团队并不掌握所有语言,需要用户反馈来微调断句逻辑。

参与与路线图

  • 路线图包括:转换前预览块/章节、按句编辑、SML 标签集成、多语言 --help、PDF/JPG/BMP/PNG/TIFF 的 OCR、Notebooks 目录、中文断句与停顿优化、Dockerfile、Docker compose、Podman compose、Kaggle/Colab Notebook、Audiobookshelf 集成、电子书翻译、输出格式选择、多进程转换、批量电子书目录转换、GPU 设备检测、参考音频去噪、自定义微调模型上传、iOS/Android App 等。
  • 用户请求包括为 xttsv2、fairseq、vits、piper 等增加欧洲葡萄牙语与信德语模型。

调试与其他 TTS 引擎

  • TTS 引擎清单(含社区项目链接):XTTSv2、Bark、Fairseq、VITS、Tacotron2、YourTTS、Tortoise、GlowTTS、Piper、GPT-SoVITS、OpenVoice、fish-speech、ChatTTS、CosyVoice、F5-TTS、chatterbox、Supertonic、Spark-TTS、index-tts、MeloTTS、Kokoro-TTS、OmniVoice、Zonos、Style-TTS2、Orpheus-TTS、NewTTS、VIbeVoice、Qwen3-TTS。
  • README 提供多语言翻译版本,涵盖 ara、zho、eng、spa、fra、deu、ita、por、pol、tur、rus、nld、ces、jpn、hin、ben、hun、kor、vie、swe、fas、yor、swa、ind、slk、hrv。

系统兼容性

  • 🍎 Mac Intel x86、🪟 Windows x86、🐧 Linux x86、🖥️🍏 Apple Silicon Mac、🪟💪 ARM Windows、🐧💪 ARM Linux。

贡献者代码规范

  • 代码之间不留空行,除非在函数与类之间;键名除 dict() 与 json 外统一用单引号,dict['key'] 一律用单引号;4 空格缩进,不使用 Tab;所有函数及其参数声明和返回值严格类型标注;参数与类型之间不加空格,函数、"->" 与返回值之间不加空格。
  • 官方还征集硬件用于 beta 测试:支持 cuda >= 11.8 的 Nvidia、Intel XPU 卡、支持 ROCm >= 5.7 的 AMD 卡。

许可与合规提醒(核验提示)

  • 来源正文未给出该项目的开源许可证名称,许可证信息需以仓库实际 LICENSE 文件为准(待核验)。
  • 来源正文明确要求仅用于无 DRM、合法获取的电子书,并提示使用者自行承担合规责任。
  • 来源中提到的 XTTSv2、Bark、Fairseq、VITS、GPT-SoVITS、ChatTTS、Qwen3-TTS 等引擎/模型均为第三方项目,其许可证与商用限制需单独核验。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

一、准备环境

  • 硬件:最低 2 GB RAM(推荐 8 GB)、最低 1 GB VRAM(推荐 4 GB);Windows 上使用 Docker 需开启虚拟化。
  • 计算后端可选:CPU、XPU(Intel/AMD/ARM)、CUDA、ROCm、JETSON、MPS(Apple Silicon CPU)。
  • CPU 场景建议选择 YourTTS、Tacotron2 等较轻量引擎,现代 TTS 引擎在 CPU 上非常慢。
  • 首次运行脚本会自动安装缺失程序:macOS 使用 homebrew,Windows 使用 scoop(无需管理员权限)。

二、克隆仓库

bash
git clone https://github.com/DrewThomasson/ebook2audiobook.git
cd ebook2audiobook

三、本地安装与启动

Linux / MacOS

bash
./ebook2audiobook.command

MacOS 用户注意:脚本会安装 homebrew 以补齐缺失程序。

Mac 启动器

双击 Mac Ebook2Audiobook Launcher.command

Windows

bat
ebook2audiobook.cmd

或直接双击 ebook2audiobook.cmd

打开 Web 应用

启动后点击终端给出的 URL 访问网页应用并转换电子书:http://localhost:7860/

生成公开链接

bash
./ebook2audiobook.command --share     # Linux/MacOS
ebook2audiobook.cmd --share           # Windows
python app.py --share                 # 所有系统

注意:脚本停止后再次运行时,需要刷新 Gradio GUI 页面,让网页重新连接到新的连接 socket。

四、无界面(headless)

来源教程配图

demo_web_gui
配图 1 · demo_web_gui查看原图
GUI Screen 1
配图 2 · GUI Screen 1查看原图
GUI Screen 2
配图 3 · GUI Screen 2查看原图
GUI Screen 3
配图 4 · GUI Screen 3查看原图
Example
配图 5 · Example查看原图

适用场景

学习研究
开源项目实践