把电子书变成有声书:ebook2audiobook 语音克隆与 1158 种语言使用指南
2026/9/7 7:59:15 网站建设 项目流程

把电子书变成有声书:ebook2audiobook 语音克隆与 1158 种语言使用指南

【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook

你手里有本 epub,却想在通勤时"听"完它。ebook2audiobook 就是干这件事的:把电子书转成带章节、带元数据的有声书,支持语音克隆,覆盖 1158 种语言,CPU 或 GPU 都能跑。下面带你从克隆仓库一路走到导出 m4b,中间再讲清语音克隆、小语种引擎和几个常调的参数。

从一本电子书到一张有声书,它做了什么

ebook2audiobook(项目里简称 E2A)是一个本地运行的转换工具,输入是电子书,输出是可直接进播放器的音频文件。它不是只读个词,而是做了三件更费力的事:

  • 自动切章节:读进.epub.mobi.pdf.txt等 20 多种格式,保留章节结构,生成的音频里一章一段,方便跳转。
  • 多引擎语音合成:内置 XTTSv2、Bark、Fairseq、VITS、Tacotron2、Tortoise、GlowTTS、YourTTS 等引擎,不同语言会自动落到最合适的引擎上。
  • 可选语音克隆:上传一段你自己的录音,整本书就用你的声音读。

输出支持m4bmp3flacwav等 11 种格式,默认就是有声书常用的m4b,单声道或立体声都能选。

三步跑出第一本有声书

整个过程不复杂,卡在环境上的人最多,所以先说清楚最低要求:2 GB 内存起步(推荐 8 GB),1 GB 显存起步(推荐 4 GB)。纯 CPU 也能跑,只是速度慢。

第一步,把仓库拉到本地:

git clone https://gitcode.com/GitHub_Trending/eb/ebook2audiobook cd ebook2audiobook

第二步,按系统跑启动脚本。macOS 和 Linux 用./ebook2audiobook.command,Windows 用ebook2audiobook.cmd。脚本会自动装缺的依赖(macOS 走 Homebrew,Windows 走 scoop)。

第三步,看终端里打印出来的网址,一般是http://localhost:7860/,浏览器打开就是你的网页界面。到这里界面就跑起来了,剩下的都在网页里点。

小提示:如果中途脚本停掉又重启,记得刷新网页,让它重新连上新的会话,否则会连不上。

看懂网页界面:上传、语言与引擎

界面分两个标签页,新手先待在第一个Input Options里就够了。

从左到右,你会用到的几项:

  • Ebook File:拖入你的电子书。想要章节切得准,优先.epub.mobi。注意 epub 本身没有标准结构,前言、脚注这类不想念的内容要提前手动删掉
  • Language:选书的语言,默认 English。这里填 ISO-639 代码,中文是zho,法语fra,德语deu
  • Cloning Voice:可选,传一段你自己的录音,整本书就用这个声音。
  • Processor Unit:CPU 或 GPU。有独显就选 GPU,合成速度能接近实时。

填完点Convert,下方会出进度条。转换完成后你会看到一个播放器和一个下载入口:

先在网页里点Listen试听开头几段,满意了再从Download里把m4b存下来。

让书用你自己的声音朗读

语音克隆是 E2A 最出效果的功能,也最容易被低估。你要做的只有一件事:传一段干净的录音

几点经验,能少走弯路:

  • 时长 1 到 5 分钟最合适,太短克隆不准,太长没必要。
  • 有底噪、有背景音乐也没关系。E2A 会先对你的参考音频做降噪再克隆,所以手机随手录一段也行。
  • 英文的内置克隆音色最多,其他语言想用官方音色可以联系项目方审核后加入。

在界面上把录音丢进Cloning Voice框,选对语言,点 Convert。生成的整本书就会用你(或你指定)的声音读出来。想更进一步,项目里还带了 XTTSv2 的微调工具(见 components/Universal_TTS_Finetune),能用更多样本训练一个专属模型,上传成一个 zip 就能在XTTS Model框里直接载入。

小语种怎么选:引擎、翻译与 1158 种语言

"1158 种语言"这个数字来自它底层用的 Fairseq 多语言模型,覆盖从中文、英语到斯瓦希里语、约鲁巴语这类小语种。但不同引擎擅长的不一样,选对引擎比硬调参数更管用:

  • 中文、英语、印欧系主流语言:默认多落在XTTSv2上,音色自然,还支持零样本语音克隆。
  • 小语种、方言:优先Fairseq,语言覆盖最广。
  • 纯 CPU 场景:XTTSv2 这类现代引擎在 CPU 上很慢,可以换 YourTTS、Tacotron2 这类轻量引擎,音质是" Siri 级",但速度快很多。

如果你手上有本外语书,想听母语,还有个隐藏玩法:加一个--translate参数,它会先把整本书翻译到目标语言再合成,并自动用_语言代码后缀把翻译版和原版输出分开存,互不覆盖。命令行里这样写:

./ebook2audiobook.command --headless \ --ebook book.epub --translate fra

调参数、选格式、配硬件

第二个标签页Audio Generation Preferences是进阶区,新手可以先用默认值,等对音色不满意再回来抠。

最常调的几个:

  • Temperature:调"发挥"程度,调高更有创意但更飘,调低更稳。
  • Speed:语速系数,嫌拖沓就调大。
  • Repetition Penalty:复读机式重复就调高它。
  • Top-k / Top-p:调低了输出更可控、生成也更快。

输出格式和声道在配置文件里改,默认m4b单声道,改法见 lib/conf.py。

硬件这块给你个直观预期:GPU 能接近实时转换,纯 CPU 会明显偏慢,长书建议挂后台或夜里跑。GPU 没被识别、依赖装不上这两类问题,最省事的解法都是改用 Docker——它自带完整环境,还支持 headless 命令行模式,一条命令就能在容器里跑转换。

想给朗读加停顿、换声,它支持一套 SML 标签:[break]短停顿、[pause:3]固定 3 秒、[voice:路径]...[/voice]中途切换说话人,配套工具在 components/E2A-SML。

建议的下一步

先别追求一步到位,按这个顺序试最稳:

  1. 先用默认音色跑一本短书,走通"上传 → Convert → 试听 → 下载"整条链路,确认格式和章节没问题。
  2. 再换上自己的录音测克隆,挑 2 到 3 分钟的干净录音,重点听开头几段像不像。
  3. 最后才动参数:音色飘就降 Temperature,节奏拖就调 Speed,有重复就抬 Repetition Penalty。
  4. 嫌慢再考虑硬件:有独显切 GPU,环境老是装不上就转 Docker。

记住只处理无 DRM、合法获取的电子书,其余的,跟着界面点一遍就上手了。

【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询