Abogen 是一款开源 TTS 有声书工具,可将 ePub/PDF/TXT/Markdown 文档秒转高质量音频 + 完美同步字幕。基于 Kokoro-82M 模型,支持 PyQt 桌面和 Web UI 两种界面,提供语音混音、队列批量处理、LLM 文本规范化,MIT 协议免费使用。

🎤 引言

你有没有过这种经历——开车或者做饭的时候想"听完"一本书,但网上找到的有声书要么没有、要么音质一言难尽?

Abogen 解决的就是这个问题。它把 ePub、PDF、TXT、Markdown 这些文档直接转成自然流畅的语音,而且自带完美同步的字幕。用的是 Kokoro-82M 这个开源 TTS 模型,出来的声音质量相当能打。5.2k GitHub Stars,MIT 协议免费,活跃开发中。


⭐ 核心功能

多格式文档支持
吃进去 ePub、PDF、纯文本、Markdown、SRT/ASS/VTT 字幕文件,吐出来 WAV、FLAC、MP3、OPUS 或带章节的 M4B 音频。PDF 支持按页面或章节挑选,ePub 同样可以精细化控制。

双界面并行

  • PyQt 桌面 GUI — 拖拽文件进去、点 Start,坐等结果。稳定、成熟,核心功能全在。
  • Flask Web UIabogen-web)— 更现代,支持 Supertonic TTS、LLM 文本规范化、Audiobookshelf 直传,功能更全但还在活跃迭代。

语音混音器
用 voice mixer 可以混合不同语音模型的权重,创建自定义音色并保存为 Profile。男女声、多语言都能混,组合出独一无二的声音。

字幕样式自由选
生成字幕的风格可以细粒度控制:按句子、按词数(1 word / 2 words / 3 words)、按行高亮……还能选 SRT 标准字幕或 ASS 特效字幕格式。

队列批量处理
Queue Mode 允许一次性扔进去多个文件,分别设置不同参数,程序自动排队处理。适合制作一整套课程或者系列有声书。

LLM 文本规范化
接入 OpenAI 兼容端点(如 Ollama),让大模型帮忙处理棘手的缩写、破折号、特殊字符,读起来更自然流畅,减少 TTS"念错字"的尴尬。

Audiobookshelf 直传
配合 Audiobookshelf 自托管有声书服务器,生成完直接推送到书架上,全自动。


📥 安装与使用

Windows(一键脚本)

  1. 先装 espeak-ng
  2. 下载 仓库 ZIP,解压
  3. 双击运行 WINDOWS_INSTALL.bat,全程自动搞定

Linux / Mac(推荐 uv 安装)

# 先装 espeak-ng
sudo apt install espeak-ng  # Ubuntu/Debian
brew install espeak-ng      # Mac

# NVIDIA GPU(推荐)
uv tool install --python 3.12 abogen[cuda]

# 无 GPU 或 AMD GPU
uv tool install --python 3.12 abogen

Docker 部署(GPU 加速)

git clone https://github.com/denizsafak/abogen.git
cd abogen
docker compose up -d --build
# 打开 http://localhost:8808

使用方式

# 桌面 GUI
abogen

# Web UI
abogen-web

操作流程很简单:把文档拖进去 → 选语速和音色 → 选字幕格式 → 点 Start。实测 RTX 2060 移动版跑 3000 字文本,11 秒出 3 分 28 秒音频。


🎯 适用场景

通勤/开车听书
把一本技术书籍扔进去,在地铁上或者开车时用耳机听完。比 Kindle 的语音朗读强太多,而且可以控制音色和语速。

批量制作课程音频
系列教程文档批量转音频,每个章节单独生成文件,配合队列模式全程不需要守在电脑前。

无字幕视频配音
把 SRT 字幕文件直接丢进去,生成带时间戳的配音音频,再配合 ffmpeg 合成视频。适合做知识类短视频。

自建有声书库
配合 Audiobookshelf,做完直接推送到自己的有声书服务器,随时随地用手机听。


⚠️ 注意事项

Windows AMD GPU 暂不支持
ROCm 加速只在 Linux 上可用,Windows 下的 AMD 显卡用户需要用 CPU 模式或换 Linux。

PyTorch 版本注意
NVIDIA GPU 用户需要装 PyTorch 2.8.0(因 pytorch#166628 暂未修复),CUDA 12.8 为推荐版本。

长文件建议分段
超长 ePub(几百 MB)可能触发 413 REQUEST ENTITY TOO LARGE,这时候用桌面 GUI 按章节分别处理会更稳。

espeak-ng 必装
不管是哪个平台,espeak-ng 都是前置依赖,没有它 TTS 跑不起来。


✅ 总结

Abogen 把"文档转有声书"这件事做到了开箱即用的程度。 Kokoro-82M 的声音质量在开源 TTS 里属于第一梯队,比 Edge TTS / Google TTS 更自然,硬件要求也不算离谱。Web UI 和桌面 GUI 双轨并行满足不同用户场景,语音混音 + LLM 规范化这些细节进一步拉开和同类工具的差距。

5.2k Stars、678 次提交、持续活跃开发——这个项目的质量已经经过了社区的验证。MIT 协议白嫖不商量,推荐指数:⭐⭐⭐⭐⭐

GitHub 地址:denizsafak/abogen