
ebook2audiobook
一键把电子书变成有声书,支持千种语言和声音克隆
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 20513
使用教程
环境要求
- 安装 Docker(GPU 加速需 NVIDIA 驱动并支持 --gpus all)
- 操作系统为 Linux / macOS / Windows
- 准备非 DRM 的合法电子书文件(EPUB、PDF 等)
- 首次运行需下载模型,预留足够磁盘空间与时间
安装与启动步骤
-
1克隆项目仓库
把项目下载到本地,并进入项目根目录,后续所有脚本都在此目录执行。
git clone https://github.com/DrewThomasson/ebook2audiobook.git cd ebook2audiobook -
2构建容器镜像
用项目自带脚本构建镜像。Windows 把命令换成 ebook2audiobook.cmd,Compose 方式加 --docker_mode compose。
./ebook2audiobook.command --script_mode build_docker -
3启动 GUI 容器
挂载电子书、音频、模型、声音和临时目录,映射 7860 端口,启动 CPU 版 Gradio 界面。
docker run -v "./ebooks:/app/ebooks" -v "./audiobooks:/app/audiobooks" -v "./models:/app/models" -v "./voices:/app/voices" -v "./tmp:/app/tmp" --rm -it -p 7860:7860 athomasson2/ebook2audiobook:cpu -
4GPU 加速启动
有 NVIDIA 显卡时加 --gpus all,镜像标签按驱动选择 cu118/cu122/cu124/cu126 等。
docker run -v "./ebooks:/app/ebooks" -v "./audiobooks:/app/audiobooks" -v "./models:/app/models" -v "./voices:/app/voices" -v "./tmp:/app/tmp" --gpus all --rm -it -p 7860:7860 athomasson2/ebook2audiobook:cu126 -
5Compose 方式启动
用 docker compose 拉起 GUI,DEVICE_TAG 指定设备标签,需在项目目录内执行。
DEVICE_TAG=cu128 docker compose --profile gpu up --no-log-prefix -
6无头模式转换
不打开网页,直接指定容器内电子书路径批量转换,音频写入挂载的 audiobooks 目录。
docker run -v "./ebooks:/app/ebooks" -v "./audiobooks:/app/audiobooks" -v "./models:/app/models" -v "./voices:/app/voices" -v "./tmp:/app/tmp" --rm -it -p 7860:7860 ebook2audiobook:cpu --headless --ebook "/app/ebooks/myfile.pdf" --language eng -
7本地命令行运行
Linux/macOS 用 .command 脚本、Windows 用 .cmd 脚本直接调用,参数含义与容器内一致。
./ebook2audiobook.command --headless --ebook ./ebooks/myfile.epub --voice ./voices/myvoice.mp3 --language eng
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--ebook | 是 | 电子书文件路径,本地脚本用相对路径,容器内用 /app 下路径 | /app/ebooks/myfile.pdf |
--voice | 否 | 声音克隆参考音频路径,不填则使用默认音色 | /app/voices/myvoice.mp3 |
--language | 否 | 语言代码,支持 ISO-639-3 三字母及 ISO-639-1 两字母,默认 eng | eng |
--headless | 否 | 启用无界面命令行模式,直接转换并输出音频文件 | --headless |
--script_mode | 否 | 脚本运行模式,build_docker 表示构建容器镜像 | build_docker |
DEVICE_TAG | 否 | compose 启动时选择设备镜像标签,如 cu128、cpu、rocm | cu128 |
如何确认成功
浏览器打开 http://localhost:7860 能看到 Gradio 网页界面即为启动成功;无头模式的音频文件会出现在挂载的 audiobooks 目录。
常见问题
Q:没有 NVIDIA 显卡能跑吗?
A:可以,使用 athomasson2/ebook2audiobook:cpu 镜像即可。README 说明 Docker 中不暴露 MPS,Apple 芯片也只能用 CPU。
Q:--language 应该怎么填?
A:填 ISO-639-3 三字母代码,如 eng(英语)、ita(意大利语)、deu(德语),也支持 ISO-639-1 两字母;不填默认 eng。
Q:--voice 是必填的吗?
A:不是,该参数为可选。不提供声音克隆文件时,会使用项目自带的默认音色生成音频。
Q:CUDA 镜像标签怎么选?
A:镜像标签形式为 cu118、cu122、cu124、cu126 等,需要与本机 NVIDIA 驱动和 CUDA 环境匹配,否则容器无法使用 GPU。
Q:用 docker compose 还是手动 docker run?
A:两者都可以。compose 方式用 DEVICE_TAG 选择设备并加 --profile gpu,手动方式则自行挂载目录并加 --gpus all。
注意事项
- 本工具仅用于非 DRM、合法获得的电子书,请勿用于侵权用途。
- Docker 环境不支持 MPS,macOS 只能使用 CPU 镜像。
- 首次运行会下载 TTS 模型,耗时较长且占用较多磁盘空间。
- 运行时务必在项目目录下执行,否则 ./ebooks、./audiobooks 等挂载目录可能不存在。
核心亮点
- 支持 1158+ 种语言,覆盖全球主要语种,包括中文、英文等
- 集成声音克隆,可生成特定人声的听书音频
- 提供 Gradio 界面和 Docker 部署,上手简单,支持本地或云端运行
不足之处
- 长文本合成时可能产生音频不一致或停顿问题
- 声音克隆效果依赖输入样本质量,低质量样本效果一般
- 文档/社区待观察
适用场景
- 个人将电子书转为有声书,通勤或睡前听书
- 语言学习者生成多语言朗读材料,辅助听力练习
- 内容创作者快速生成有声内容,用于播客或视频
替代项目
Coqui TTS、Piper、AudioBookConverter
上一篇:LA-Studio
下一篇:Bert-VITS2
同类项目推荐
BlueTTS
开源
极速语音合成,让 TTS 快人一步
Fastest Open Source TTS Model
AndroidMaryTTS
开源
在 Android 上离线生成语音,保护隐私且支持自定义声音。
Android MARY TTS - an open-source, offline HMM-Based text-to-speech synthesis system···
FastSpeech2
开源
用 PyTorch 快速实现多说话人语音合成,训练推理都省心
Multi-Speaker Pytorch FastSpeech2: Fast and High-Quality End-to-End Text to Speech :···
awesome-suno-prompts
开源
千条专业提示词,一键生成榜单级歌曲
A curated collection of 1000+ professional Suno AI style prompts for creating chart-···
infinite_gnossienne
开源
让萨蒂的经典钢琴曲无限流淌,永不停歇。
An endless version of Erik Satie's Gnossiennes No. 1
c-rnn-gan.pytorch
开源
用对抗网络生成连贯钢琴曲,上手即用
PyTorch implementation of C-RNN-GAN for Music Generation
vits_chinese
开源
中文语音合成更自然,支持流式输出,开箱即用
Best practice TTS based on BERT and VITS with some Natural Speech Features Of Micros···
yovoice
开源
本地跑 TTS 与声音克隆,不花按字费用
Open-source local AI audio & music studio for macOS & Windows. TTS, voice cloning, s···
OpenMusenet2
开源
复现 OpenAI 音乐生成模型,用代码生成多风格 MIDI 音乐
Open source implementation of OpenAi's musenet