ebook2audiobook(E2A)是一个开源项目,旨在将电子书转换为有声书。它支持多种TTS(文本转语音)引擎,包括XTTSv2、Bark、Fairseq、VITS、Tacotron2、Tortoise、GlowTTS和YourTTS,并支持语音克隆和1158种语言。该工具仅适用于非DRM、合法获取的电子书,作者不承担任何误用或法律后果。
用途: 将电子书转换为有声书,并可选择克隆自己的声音或使用预设语音。
主要能力:
- 支持多种电子书格式:.epub、.mobi、.azw3、.fb2、.lrf、.rb、.snb、.tcr、.pdf、.txt、.rtf、.doc、.docx、.html、.odt、.azw、.tiff、.tif、.png、.jpg、.jpeg、.bmp、.zip。
- 支持OCR扫描,可处理图片中的文字。
- 支持语音克隆,可使用自己的语音文件。
- 支持1158种语言。
- 资源占用低,最低2GB RAM和1GB VRAM即可运行。
- 输出格式:单声道或立体声的aac、flac、mp3、m4b、m4a、mp4、mov、ogg、wav、webm。
- 支持SML标签,可控制停顿、暂停、语音切换等。
- 支持自定义模型(XTTSv2、VITS、FAIRSEQ、PIPER等)。
- 提供预训练的微调模型。
使用方式:
- 本地运行:通过Gradio网页界面或命令行无头模式。
- 克隆仓库:git clone https://github.com/DrewThomasson/ebook2audiobook.git 并进入目录。
- 安装/运行:Linux/MacOS使用./ebook2audiobook.command;Windows使用ebook2audiobook.cmd。
- 打开Web应用:访问http://localhost:7860/。
- 公开链接:./ebook2audiobook.command --share(Linux/MacOS)或ebook2audiobook.cmd --share(Windows)或python app.py --share(所有系统)。
- 无头模式:./ebook2audiobook.command --headless --ebook <path> --voice <path> --language <code>(Linux/MacOS)或ebook2audiobook.cmd --headless --ebook <path> --voice <path> --language <code>(Windows)。
- 自定义模型:--custom_model <path>,需为包含必要文件的.zip文件。
- 查看更多帮助:./ebook2audiobook.command --help(Linux/MacOS)或ebook2audiobook.cmd --help(Windows)或python app.py --help。
- 远程运行:可通过Docker构建并运行容器。
适用场景:
- 将个人合法拥有的电子书转换为有声书,便于收听。
- 需要多语言语音合成或语音克隆的用户。
- 希望本地运行、注重隐私的用户。
- 开发者和研究者可自定义TTS模型或贡献代码。
限制:
- 仅适用于非DRM、合法获取的电子书。
- EPUB格式缺乏标准结构,需要手动移除不需要转换的文本。
- 现代TTS引擎在CPU上运行缓慢,建议使用GPU。
- 语音克隆的参考音频理想时长为1到5分钟,背景噪音或音乐会被清理。
- 内置克隆语音列表主要为英语,其他语言需联系添加。
- 某些功能(如批量转换、安卓应用)仍在路线图中。
- 需要虚拟化支持(Windows Docker)或特定硬件(CUDA、ROCm、MPS等)。
- 更多平台和模型支持正在开发中。