ebook2audiobook-电子书转有声书工具-开源项目


ebook2audiobook 项目总结

该项目是由DrewThomasson开发、2025年8月3日发布v2.0.0版本的电子书转有声书工具,支持CPU/GPU运行,基于XTTSv2、Bark、Vits等多款TTS模型实现高质量转换,核心特点是生成带章节和元数据的有声书,且仅允许用于合法获取的非DRM电子书,目前有1051位项目成员,同时提供GUI可视化和命令行无头模式,适配多系统和硬件环境。

核心功能

  1. 智能章节拆分:自动将电子书拆分为章节,生成结构清晰的有声书,保留元数据信息;
  2. 多引擎高质量TTS:支持XTTSv2、BARK、VITS、Fairseq等多款TTS引擎,输出自然逼真的语音;
  3. 可选语音克隆:支持上传WAV格式语音文件实现克隆,对文件采样率(主流语言24000hz/其他22050hz)和时长(≤6秒)有明确要求;
  4. 超多语言支持:默认英语,总计支持1110+种语言/方言,含中、英、法、德、日、韩等,兼容ISO-639-1/3语言编码;
  5. 低门槛运行:最低仅需4GB内存即可运行,适配多种硬件处理器;
  6. 灵活定制化:支持上传自定义微调TTS模型包、调整语音生成参数(如语速、温度),可手动添加语音暂停(###/[pause],1.4秒/次);
  7. 双使用模式:提供Gradio可视化Web界面,也支持命令行无头模式,可批量转换电子书。

支持规格

1. 电子书输入&音频输出格式

  • 输入:支持epub、mobi、pdf、txt、html、docx等数十种格式,epub/mobi 格式的章节自动检测效果最佳;
  • 输出:生成m4b、mp3、flac、wav、ogg等十余种音频格式,所有输出文件均带章节和元数据。

2. 硬件要求

  • 内存:最低4GB RAM,推荐8GB;
  • 处理器:支持Intel/AMD/ARM架构CPU,Nvidia/Intel GPU(AMD GPU即将支持),Apple Silicon的MPS;
  • 其他:Windows系统使用Docker部署时需开启虚拟化,GPU转换速度远快于CPU(Nvidia GPU可实现近实时转换)。

安装与使用

1. 基础安装

先克隆项目仓库:git clone https://github.com/DrewThomasson/ebook2audiobook.git && cd ebook2audiobook,提供3种启动方式: - 脚本启动(推荐):Linux/Mac执行./ebook2audiobook.sh,Windows执行ebook2audiobook.cmd,Mac还有专属可视化启动器; - 手动Python安装(仅专家):需Python 3.12,安装calibre、ffmpeg等必备程序,再执行pip install -r requirements.txt && python app.py

2. 核心使用方式

  • GUI模式:启动后访问http://localhost:7860即可可视化操作,加--share参数可生成公链分享;
  • 无头模式:通过命令行传参实现无界面转换,支持指定电子书路径、语音克隆文件、语言、自定义模型等,核心参数为--headless --ebook <文件路径>
  • 参数查询:所有系统均可通过python app.py --help查看完整参数,支持指定输出目录/格式、选择TTS引擎、调整模型采样参数等。

Docker部署

项目提供完整的Docker支持,包含预构建镜像和自定义构建方案,适配CPU/GPU环境: 1. 预构建镜像运行:镜像地址为athomasson2/ebook2audiobooklatest标签基于CUDA11.8,CPU直接映射端口docker run --pull always --rm -p 7860:7860 athomasson2/ebook2audiobook,Nvidia GPU需加--gpus all; 2. 自定义构建:可通过--build-arg指定CUDA版本、跳过XTTS测试节省镜像空间; 3. Docker Compose:修改docker-compose.yml中GPU配置,一键启动docker-compose up -d; 4. 无头模式:需挂载本地输入/输出目录,容器内执行转换命令; 5. 常见问题解决:GPU检测失败参考项目Wiki、模型下载卡顿禁用进度条、参数错误移除多余命令后缀。

更新与回滚

  1. 更新:本地部署执行git pull,Docker部署拉取最新镜像docker pull athomasson2/ebook2audiobook:latest
  2. 回滚:本地通过git checkout tags/版本号切换,Docker使用指定版本标签镜像athomasson2/ebook2audiobook:版本号

常见问题与重要注意事项

  1. 仅允许处理合法获取的非DRM电子书,作者不承担滥用软件的法律后果;
  2. 因电子书无统一的章节/段落标准,转换前需手动移除无关文本;
  3. CPU转换速度较慢(服务器多核CPU效果更佳),优先推荐Nvidia GPU;
  4. 遇到依赖问题优先使用Docker部署,其为独立运行环境,无需额外配置;
  5. 若出现音频截断问题,可在项目提Issue帮助优化句子拆分逻辑;
  6. 脚本重启后需刷新GUI界面,重新建立连接;
  7. 自定义XTTSv2模型包需为ZIP格式,且包含config.json、model.pth等必备文件。

其他相关信息

  1. 模型微调:提供XTTSv2模型微调指导,支持去噪训练数据,项目有Hugging Face微调模型合集;
  2. 替代工具:作者另有基于piper-tts的工具,CPU转换速度更快,但无零样本语音克隆功能,语音质量为Siri级别;
  3. 社区支持:项目寻求各语言使用者帮助优化模型,同时开放了GPU租赁需求投票;
  4. 技术致谢:基于Coqui TTS、Calibre、FFmpeg等开源项目开发,感谢相关贡献者。