ebook2audiobook:中文快速上手指南

Star 数:14.1K+ AI 驱动的电子书转有声书工具,支持语音克隆与 1100+ 语言 ebook2audiobook 是一个开源项目,由 DrewThomasson 开发,专注于将非 DRM 电子书(EPUB/MOBI 等)自动转换为高质量有声书。它集成多种先进 TTS 模型,支持章节拆分、元数据嵌入、语音克隆与多语言输出,提供 Gradio Web UI、CLI 与 Docker 部署选项。

1. 准备环境

必要软件

  1. Python 3.10+
  2. Git
  3. FFmpeg(音频处理必须)
  4. Calibre(解析 EPUB/PDF 结构)

Windows 安装方式

确保命令行能执行:

python --version
ffmpeg -version

2. 克隆项目代码

git clone https://github.com/DrewThomasson/ebook2audiobook
cd ebook2audiobook

3. 安装依赖

项目使用 poetry 管理依赖,所以先装它:

pip install poetry

然后安装项目依赖:

poetry install

完成后进入虚拟环境:

poetry shell

4. 准备要转换的电子书

支持的格式:

  • EPUB(最佳)
  • PDF
  • MOBI
  • TXT

建议:中文电子书用 EPUB 效果最稳

5. 最简单的转换命令(中文版)

直接把电子书变成 MP3

python main.py \
    --input "你的电子书.epub" \
    --output "输出目录" \
    --language "zh" \
    --tts-engine "coqui" \
    --output-format "mp3"

解释一下最关键的参数:

参数含义
--input输入电子书路径
--output输出目录
--language "zh"中文
--tts-engine "coqui"Coqui XTTSv2(支持中文,稳定)
--output-formatmp3 / m4b / flac

6. 如果你想用更像“有声书主播”的声音(推荐)

这套命令效果更好(中文更自然):

python main.py \
    --input "你的电子书.epub" \
    --output "输出目录" \
    --language "zh" \
    --tts-engine "bark" \
    --voice "v2/zh_speaker_6" \
    --output-format "m4b"

为什么选 bark?

  • Bark 的中文发音比 Coqui 更自然
  • 自带多个中文 speaker(更接近有声书感觉)

7. 高级:自定义你的声音(语音克隆)

准备你的语音样本(大约 20–30 秒)
例如:

samples/myvoice.wav

然后运行:

python main.py \
    --input "电子书.epub" \
    --output "输出" \
    --language "zh" \
    --tts-engine "xtts" \
    --voice "samples/myvoice.wav"

系统会克隆你提供的声音来朗读整本书。

中文克隆效果比较依赖你提供的样本质量。
建议录一段普通朗读,自然语速即可。

8. 输出为专业有声书格式 m4b(支持章节)

--output-format "m4b"
--chapters "true"

示例:

python main.py \
    --input "Book.epub" \
    --output "out" \
    --language "zh" \
    --tts-engine "coqui" \
    --output-format "m4b" \
    --chapters true

9. 最省事的:Docker 快速运行(不装 Python)

如果你电脑有 Docker:

docker run -v "$PWD:/data" \
    ebook2audiobook \
    --input "/data/book.epub" \
    --output "/data/output" \
    --language "zh"

10. 注意事项(中文用户最常遇到的坑)

  1. PDF 提取效果差
    → 建议用 Calibre 转成 EPUB 再跑。
  2. 中文断句问题
    → Bark / Coqui 均能自动处理,不需手动加标点。
  3. 输出太慢
    → GPU=快速
    → CPU=慢但可用
    → 文本很长时耐心等。
  4. 如果报错找不到 ffmpeg
    → 把 FFmpeg 的 /bin 放到 PATH。

GitHub:https://github.com/DrewThomasson/ebook2audiobook
油管:https://youtu.be/VRVhzdaYFXg