news 2026/9/7 18:38:49

3分钟把电子书变成有声书:ebook2audiobook免费完整教程(支持克隆自己的声音)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3分钟把电子书变成有声书:ebook2audiobook免费完整教程(支持克隆自己的声音)

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 格式(如engzho),两字母代码如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)

项目最低要求推荐配置
内存2GB8GB
显存1GB4GB
Python3.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. 手机随便录一段1–5 分钟的人声(wav 或 mp3 都行)
  2. 环境不用安静——README 明确说背景有噪声甚至音乐都没事,E2A 会先把你的声音去噪清洗
  3. 转换时加上--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 分钟以上、想"听"完技术文档或长篇小说的人。

  1. 周日下午花 10 分钟:把下周想读的书放进一个文件夹,用--ebooks_dir批量转,--speed 1.2提 20% 语速
  2. 输出选 MP3 格式(手机、车机、蓝牙音箱全兼容);如果听书 App 支持章节跳转,就选默认的 M4B
  3. 音频同步到手机,地铁上从上次章节继续

常用输出格式怎么选,看这张表(--output_format对应关系):

格式优点缺点什么时候选它
M4B(默认)带章节标记,有声书 App 直接认个别车机不支持长篇有声书、搭配 Audiobookshelf
MP3兼容性最好,到处能放无章节信息手机 / 车机 / 音箱
WAV无损音质文件体积最大要后期剪辑、二次加工
FLAC无损且比 WAV 小体积仍大于 MP3自己存档

方案 B:家长"睡前故事 + 双语启蒙"组合

  1. 从公共领域书库找一本英文版童书(.epub最佳,自动分章最准),语速设 0.9x,[pause:2]在每章之间多留两秒,节奏更舒缓
  2. 想让孩子顺便学中文(或反过来)?加一个--translate zho参数,E2A 会先离线翻译整本再合成,翻译版文件名自动加语言后缀,和原版互不干扰
  3. 进阶玩法:用你自己的声音克隆读给孩子听——"爸爸亲自讲"的睡前故事,比任何 AI 声线都亲切

🎧 一位做程序员的用户在讨论区留言:每周日批量转好下周 3 章技术书,通勤两小时听完,"半年听完了 5 本,比啃文字快多了"。另一位英语老师则拿它给学生批量生成课文音频,"孩子追着问我能不能再把故事换个人声读一遍"。

排坑与调音:转换慢、声音不自然怎么办

问题一:转得太慢?

慢的根源通常是"引擎跑在 CPU 上"。按优先级排查:

  1. 先确认 GPU 被识别了——终端启动日志会打印检测到的设备;有卡却没用上,可用--device CUDA手动指定
  2. 有 GPU 就保持默认 XTTSv2,接近实时输出;纯 CPU 机器换轻量引擎
引擎音质CPU 速度适合谁
XTTSv2(默认)高,接近真人慢(建议 GPU)追求质量、要语音克隆
Bark高,表现力强需要情绪、语气变化
YourTTS中等(官方形容为"Siri 水平")纯 CPU 机器(注意:不支持零样本克隆)
Tacotron2中等纯 CPU 机器,只求能听
  1. 依赖装不上、环境冲突?直接用 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 18:38:34

Spring Boot高校学生评教系统:从权限控制到防重复提交的全栈实践

毕业设计做了一套Spring Boot高校学生评教系统,源码编号01091,正好赶上期末,很多同学在后台问我要这套系统的设计思路和核心代码讲解。连着解答了十几个问题之后,我发现大家卡住的点其实都差不多,集中在权限设计、评教…

作者头像 李华
网站建设 2026/9/7 18:38:24

LeetCode 61 旋转链表题解:成环法与双指针法详解

很多刷 LeetCode 的朋友看到“旋转链表”这道题,第一反应多半是:这不就是把后面几个节点挪到前面来吗?听起来很简单,可真上手一写,指针绕两下就开始晕,甚至写完提交还会弹出“链表中有环”这种让人摸不着头…

作者头像 李华
网站建设 2026/9/7 18:37:44

深铠威网闸部署实战:从物理隔离到数据摆渡全流程解析

网闸这设备,做网络集成的同行应该都不陌生。项目里一旦出现“内外网隔离”“生产网和办公网数据交换”“两个安全等级不同的网络之间要通数据”这类需求,十有八九最后会落到网闸上。前阵子接了一个多区域安全隔离的项目,选型评估之后定了深铠…

作者头像 李华
网站建设 2026/9/7 18:37:35

2026年机械硬盘选购指南:从CMR/SMR到系统迁移与健康检测

如果你在2026年1月还在搜索机械硬盘推荐,大概率不是冲动消费,而是手里那堆视频素材、监控录像、NAS备份又多到没地方放了。每年这个时候我都习惯做一次机械硬盘盘点,因为年终促销刚结束,新一批型号的定价和固件状态都趋于稳定&…

作者头像 李华
网站建设 2026/9/7 18:35:56

中国三级流域矢量面数据集:SHP格式、预处理与实战应用

做GIS的应该都碰过这种场景:项目里需要全国尺度的流域边界,结果不是从论文抓个粗糙的矢量图,就是从几张分省报告里东拼西凑,边界对不上、属性乱码、投影东一个西一个。我最近在整理和测试一套“中国三级流域矢量面数据集”&#x…

作者头像 李华