把电子书读出声:ebook2audiobook 电子书转有声书完整快速使用指南
【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook
书柜里的电子书大多买了没翻,安静地躺着。ebook2audiobook(下称 E2A)把它们直接转成带章节和元数据的 m4b 有声书,还能上传一段你的录音克隆自己的声音来"念"给你听。这篇指南解决四件事:网页怎么跑起来、终端怎么批量转、听感怎么调、扫描版和外语书怎么处理。
成品长什么样
产物是标准的 m4b 文件,带章节和元数据,任何有声书播放器都能按章播放;转换完成后在网页上直接试听、下载。
它能帮你干什么:
- 章节结构保留:
.epub和.mobi自动识别章节,输出直接分章; - 格式吃得开:
.epub、.mobi、.pdf、.txt、.docx、.html、.zip等 23 种输入格式,m4b、mp3、flac、wav、ogg、aac等 10 种输出格式; - 声音克隆:传 1–5 分钟录音,整本书换成"你的声音";
- 语言够多:支持 1158 种语言,XTTSv2、Bark、VITS、Tacotron2 等 8 种 TTS 引擎,实现见 lib/classes/tts_engines/。
⚠️ E2A 只适用于无 DRM、合法获取的电子书,误用的法律后果与作者无关。
跑起来:两条路任选
网页路线
- 拉代码:
git clone https://gitcode.com/GitHub_Trending/eb/ebook2audiobook cd ebook2audiobookclone 无参数,只负责把源码放进本地ebook2audiobook目录。
- 跑启动脚本:
./ebook2audiobook.command不带参数即网页模式,依赖自动装好,服务起在 7860 端口(Windows 用ebook2audiobook.cmd)。
- 打开
http://localhost:7860/:电子书拖进上传框,可选传录音做声音克隆,选处理器(CPU/GPU)和语言,点Convert。
命令行路线
一条可整段复制的完整命令(Linux/macOS):
./ebook2audiobook.command --headless --ebook /path/to/book.epub --voice /path/to/voice.wav --language eng--headless进入无头模式,--language收 ISO-639-3 或两位码,--voice可省略、缺省用内置声音。
常用搭配:
--ebooks_dir:指向一个目录,目录里的书一次转完;配--voice_map(JSON 文件)可给每本书指定不同声音;--session <会话名>:中断后从断点续转;--abs_url等:成品直接推进本地 Audiobookshelf 书库;--help查看全部参数。
听感调优指南
听感参数都在网页 "Audio Generation Preferences" 标签页,命令行同样可用(以下均为 XTTS 参数)。
想更快
--top_k(10–100):值越低只从高概率词里采样,生成越快;--top_p(0.1–1):累计概率阈值,方向同 top_k,越低越稳越快。
想更像
--temperature(0.1–10):越高越"发散",越低越平稳;--repetition_penalty(1–10):值越高越抑制重复短语;--speed(0.5–3):语速倍数,1 为原速;- 给某个声音"开小灶":Notebooks/finetune/xtts/ 里有 Colab 与 Kaggle 笔记本,用免费 GPU 微调自己的 XTTSv2。
批量处理
--ebooks_dir:整目录一次转完;--voice_map:按 JSON 给每本书分配不同声音;--enable_text_splitting:长文分块合成,适合长书。
🎧 进阶玩法按场景来
克隆自己的声音效果:整本书换成"你的声音",录音带背景噪音、垫着音乐都不怕,E2A 会先清背景再提取人声。做法:录一段 1–5 分钟的音频,传到 Cloning Voice 框,mp3/wav/m4a 等常见格式都行。注意:太短模型"学不扎实",别低于 1 分钟。
精确控制停顿与换声(SML 标签)效果:文本里插几个标记,朗读节奏自己说了算。做法:[break]给 0.3–0.6 秒随机短停顿,[pause]给 1.0–1.6 秒,[pause:3]固定 3 秒,[voice:/路径/声音文件]...[/voice]区间内换声,对话体小说一人分饰两角正合适。注意:不想手动插,官方 E2A-SML 工具链能自动写入。
让扫描版 PDF 也能听效果:没有文本层的 PDF,以及 JPG/PNG/TIFF/BMP 图片书,内置 OCR 先认字再送 TTS。注意:识别质量直接决定听感,字体花哨的扫描页先抽查识别结果。
外语书先翻译再合成效果:选中引擎不支持书的语言时,加--translate(fra、deu 等 ISO-639-3 码),整本书先翻译再合成。注意:翻译输出带_<代码>后缀单独存放,不会覆盖原书结果。
环境与部署
- 硬件门槛:最低 2GB 内存 / 1GB 显存,推荐 8GB / 4GB;
- 可用设备:CPU、CUDA、MPS(Apple Silicon)、ROCm、XPU、Jetson;现代 TTS 引擎在纯 CPU 上很慢,官方建议换 YourTTS、Tacotron2 这类轻量引擎;
- 容器化:
DEVICE_TAG=cu128 docker compose --profile gpu up --no-log-prefix一行起 GPU 网页版;镜像自包含、无依赖冲突,无头模式同样可用;注意 MPS 不暴露给容器,只能选 CPU; - 改默认值:输出格式(默认 m4b)、声道(默认 mono)、输出目录,编辑 lib/conf.py 即可。
排坑手册
- GPU 检测不到— 现象:设备选择回落到 CPU;原因:驱动版本不在支持范围(需 CUDA ≥ 11.8 等);解法:先升级驱动,暂时用 CPU 加轻量引擎。
- CPU 转得太慢— 原因:现代引擎在 CPU 上天生慢;解法:上 GPU 接近实时,只能 CPU 就换 YourTTS、Tacotron2 等轻量引擎。
- 依赖冲突— 原因:本地环境版本打架;解法:直接用 Docker,镜像自包含,无头模式也能跑。
- 音频被截断— 原因:该语言的断句逻辑还不成熟;解法:把原句附进 issue 提给官方,帮着改进。
- 转换中断要续转— 原因:崩溃或手动停止;解法:带
--session <会话名>重跑,从断点继续。
两个容易踩的坑:EPUB 本身没有统一的"章节/序言"标准,不想被读出来的段落先手动删掉再转;脚本被杀后重启,记得刷新一次浏览器页面,否则连不上新的服务。
建议先拿一本短 EPUB 把上面流程走通,再慢慢碰声音克隆和 SML 标签,比上来就调参数省事。完整说明见 README.md。
【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考