3分钟把电子书变成有声书:ebook2audiobook免费完整教程(支持克隆自己的声音)
【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook
书架上是不是堆着一堆买了却没读完的电子书?ebook2audiobook(简称 E2A)是一款免费的开源转换工具,它用 AI 语音合成把电子书读成带章节标记的有声书——支持 1158 种语言、9 个 TTS 引擎(文本转语音引擎),还能用你自己录的声音来"读"。下面按"装好 → 用会 → 玩出花样"的顺序,带你从第一本有声书走到批量生产线。
先听为快:这本书会"说话"之后是什么样
一句话概括 E2A 能做什么:你丢进一本电子书,它吐出一整个有声书架。
- 1158 种语言:从中文、英语到斯瓦希里语,语言代码用 ISO-639 格式(如
eng、zho),两字母代码如en也认得 - 23 种输入格式:
.epub、.mobi、.azw3、.pdf、.txt、.docx、.html甚至扫描图片(.png、.jpg)都能转 - 9 个 TTS 引擎:XTTSv2、Bark、VITS、Tacotron2、YourTTS、GlowTTS、Tortoise、Fairseq、Piper,可自由切换
- 语音克隆:上传一段自己的录音,之后的有声书全部用你的嗓子读
- 10 种输出格式:M4B、MP3、WAV、FLAC 等,单声道或立体声任选
- 完全本地运行:转换过程不上传任何文件,读什么书只有你自己知道
典型的使用场景:通勤路上"听"完一本周报和小说、给娃做睡前故事、帮视力不好的家人"读"报纸、把英文原版书变成外语听力材料。
⚠️ 一个前提:只处理无 DRM 保护、合法获取的电子书,作者不对滥用负责。
低门槛启动:2GB 内存的电脑就够跑
先说实话:E2A 对硬件的要求比你想的低得多,但"低"和"快"是两回事。
硬件门槛(来自官方 README)
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 内存 | 2GB | 8GB |
| 显存 | 1GB | 4GB |
| Python | 3.10 – 3.12(启动脚本自动装好,不用你操心) | — |
| 处理器 | 纯 CPU 即可;NVIDIA 显卡(CUDA)、Apple Silicon(MPS)、AMD(ROCm)都能加速 | 有 GPU 体验接近实时 |
没有独立显卡也没关系,只是速度会从"几乎实时"降到"慢慢磨",后面排坑章节有对应解法。
两步安装,装完就能用
# 第一步:克隆仓库 git clone https://gitcode.com/GitHub_Trending/eb/ebook2audiobook cd ebook2audiobook# 第二步:启动(首次运行会自动安装 Python 依赖,稍等片刻) ./ebook2audiobook.command # Linux / macOS # Windows 用户直接双击 ebook2audiobook.cmd看到终端里蹦出http://localhost:7860/的地址后,浏览器打开它,图形界面就来了。
图形界面四步走:从上传到拿到音频
界面是 Gradio(网页版交互界面)风格,分标签页操作,零基础也能跟着走完。
第 1 步:上传电子书,预览章节
在 "Input Options" 区域把文件拖进上传框。.epub和.mobi是自动识别章节效果最好的两种格式;如果你的书里有目录页、版权页这类不想被读出来的内容,建议先在阅读器里手动删掉再转换(EPUB 格式没有统一的章节结构标准,这是官方明确提醒的)。另外这里还有个"文本框"入口,最多 1024 个字符,适合直接把一段短文转成语音试试声。
第 2 步:调音——温度、语速、引擎怎么填
切到 "Audio Generation Preferences" 标签页,几个关键旋钮的推荐取值:
- 温度(Temperature):控制语音的"发挥空间",越高越有变化、越不重复。求稳读小说,建议从 0.6–0.8 之间起步
- Top-p(Top-p 采样):限制模型只从"最可能的前 p 比例"候选词里选,调低(如 0.8)语音更自然、生成还更快
- 语速(Speed):默认 1x,通勤想赶进度可以拉高,给孩子讲睡前故事就放慢
- 引擎:默认 XTTSv2(质量最好、支持语音克隆);纯 CPU 机器可换 YourTTS 或 Tacotron2 提速
- 输出格式:默认 M4B 单声道,一般不用动
第 3 步:点 Convert,然后去喝杯水
长书转换需要时间,进度条会在页面上实时滚动。中途反悔了?点电子书上传组件上的 [X] 即可取消。
第 4 步:试听 + 下载
转换完成后,在结果页直接在线试听,满意后点下载按钮,文件同时保存在本地的audiobooks目录下。
命令行与语音克隆:进阶用户的"批处理"路线
图形界面适合单本精修,命令行(headless 模式,即不开界面直接跑转换)才是批量党的主场。
一个整文件夹批量转
把一堆书放进一个目录,一条命令全部读出来:
# 批量转换 books 目录下所有电子书,输出到 audiobooks,指定英语 ./ebook2audiobook.command --headless --ebooks_dir "books" --output_dir "audiobooks" --language eng所有参数一览可用--help查看,完整清单也能在 lib/conf.py 的cli_options里查到。常用的还有:
--output_format:指定输出格式(mp3、m4b、wav……)--device:指定 CPU/CUDA/MPS 等计算设备--session:转换中断或崩溃后,凭会话 ID 断点续转,不用从头再来
三步克隆自己的声音朗读
- 手机随便录一段1–5 分钟的人声(wav 或 mp3 都行)
- 环境不用安静——README 明确说背景有噪声甚至音乐都没事,E2A 会先把你的声音去噪清洗
- 转换时加上
--voice指向这段录音:
# 用你自己的声音读这本书 ./ebook2audiobook.command --headless --ebook "books/moby_dick.epub" --voice "voices/my_voice.wav" --language eng批量转换时还能用--voice_map传入一个 JSON 映射文件,给不同书配不同讲述人(比如给诗集配你的声音、给历史读物配家人的声音)。
更细的控制:SML 标签
文本里可以埋入 SML(Special Markup Language)标签做精细编排:[break]插入 0.3–0.6 秒短停顿、[pause]插入 1.0–1.6 秒长停顿、[pause:3]精确暂停 3 秒、[voice:路径]...[/voice]在句子中间切换讲述者。做多人对话的剧本式有声书,这组标签就是全部家当。想要"自动"打标签?可以看仓库内置的 components/E2A-SML/ 组件。
两个能直接抄的作业方案
方案 A:通勤族"地铁听书"流水线
适合每天通勤 30 分钟以上、想"听"完技术文档或长篇小说的人。
- 周日下午花 10 分钟:把下周想读的书放进一个文件夹,用
--ebooks_dir批量转,--speed 1.2提 20% 语速 - 输出选 MP3 格式(手机、车机、蓝牙音箱全兼容);如果听书 App 支持章节跳转,就选默认的 M4B
- 音频同步到手机,地铁上从上次章节继续
常用输出格式怎么选,看这张表(--output_format对应关系):
| 格式 | 优点 | 缺点 | 什么时候选它 |
|---|---|---|---|
| M4B(默认) | 带章节标记,有声书 App 直接认 | 个别车机不支持 | 长篇有声书、搭配 Audiobookshelf |
| MP3 | 兼容性最好,到处能放 | 无章节信息 | 手机 / 车机 / 音箱 |
| WAV | 无损音质 | 文件体积最大 | 要后期剪辑、二次加工 |
| FLAC | 无损且比 WAV 小 | 体积仍大于 MP3 | 自己存档 |
方案 B:家长"睡前故事 + 双语启蒙"组合
- 从公共领域书库找一本英文版童书(
.epub最佳,自动分章最准),语速设 0.9x,[pause:2]在每章之间多留两秒,节奏更舒缓 - 想让孩子顺便学中文(或反过来)?加一个
--translate zho参数,E2A 会先离线翻译整本再合成,翻译版文件名自动加语言后缀,和原版互不干扰 - 进阶玩法:用你自己的声音克隆读给孩子听——"爸爸亲自讲"的睡前故事,比任何 AI 声线都亲切
🎧 一位做程序员的用户在讨论区留言:每周日批量转好下周 3 章技术书,通勤两小时听完,"半年听完了 5 本,比啃文字快多了"。另一位英语老师则拿它给学生批量生成课文音频,"孩子追着问我能不能再把故事换个人声读一遍"。
排坑与调音:转换慢、声音不自然怎么办
问题一:转得太慢?
慢的根源通常是"引擎跑在 CPU 上"。按优先级排查:
- 先确认 GPU 被识别了——终端启动日志会打印检测到的设备;有卡却没用上,可用
--device CUDA手动指定 - 有 GPU 就保持默认 XTTSv2,接近实时输出;纯 CPU 机器换轻量引擎
| 引擎 | 音质 | CPU 速度 | 适合谁 |
|---|---|---|---|
| XTTSv2(默认) | 高,接近真人 | 慢(建议 GPU) | 追求质量、要语音克隆 |
| Bark | 高,表现力强 | 慢 | 需要情绪、语气变化 |
| YourTTS | 中等(官方形容为"Siri 水平") | 快 | 纯 CPU 机器(注意:不支持零样本克隆) |
| Tacotron2 | 中等 | 快 | 纯 CPU 机器,只求能听 |
- 依赖装不上、环境冲突?直接用 Docker 镜像,官方说明它是"完全自包含"的,一条
docker run命令就能跑 GUI 或 headless 模式(docker-compose.yml 已备好)
问题二:声音不自然、听着像"机器人念稿"?
- 温度先试 0.6–0.8 区间微调,太高会开始"编词",太低会机械
- Top-p 收到 0.8 左右,Top-k 适当调小,输出更可预测、生成还更快
- 换个预调好的预设模型试试:
--fine_tuned指向官方预设(如不同口音/风格的 XTTSv2 微调模型),仓库里的 lib/conf_models.py 能看到引擎与默认参数对照 - 音频被截断?官方建议直接提 Issue 反馈——团队需要各语言的句子切分样本来修这个逻辑
其他高频疑问
- 想边转边推流?加
--abs_url等参数可直接写入 Audiobookshelf 服务器 - 扫描版 PDF、纯图片的 JPG 也能转:内置 OCR(光学字符识别)会先把图里的字认出来
- 想自己训练一个专属声音模型?仓库内置了 components/Universal_TTS_Finetune/ 训练组件和 Notebooks/finetune/xtts/colab_xtts_finetune_webui.ipynb 在线训练笔记本,录 1–5 分钟素材就能起步
去哪找免费书,以及进阶方向
素材从哪来:首选公共领域书库——古登堡计划(Project Gutenberg)上的经典作品没有版权限制,放心转。仓库自带的 ebooks/tests/ 目录里还有 80 多个语言版本的测试电子书(.azw3+ 对应.txt),想先试试某个语言的合成效果,从这儿拿一本最方便。
进阶三条路:
- 想要自动化的停顿与换声:研究 components/E2A-SML/,它负责把 SML 标签自动加进书里
- 想拥有"只属于你的声音模型":用 Notebooks/colab_ebook2audiobook.ipynb 在无卡环境免费跑转换,用 Universal_TTS_Finetune 训练专属模型后再通过
--custom_model上传(zip 包需含 config.json、model.pth、vocab.json、ref.wav) - 想改默认行为:lib/conf.py 里所有默认值(输出格式、声道、目录)都集中在那一段注释为"CAN BE MODIFIED"的区域,官方建议改前先备份原文件
现在就可以动手了:把仓库拉下来,从 ebooks/tests/ 挑一本测试书,用默认设置转一首"有声书"出来听听——从第一声"开口"到批量生产线,中间只隔着一个下午。
【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考