大家好,我是 Jack Bytes。
我 NAS 上一直跑着 Audiobookshelf,存了一堆买了没空听的有声书。

但有些东西它真没法替我解决——比如一堆技术 PDF、几本 EPUB 电子书,压根没有音频版。
我想在通勤路上「听」它们,结果要么得去 ElevenLabs 按字符交钱,要么得自己调 Kokoro 的 API 写脚本。

前两天翻 GitHub,翻到个叫 abogen 的项目,看完第一反应是:这不就是我一直在找的那块拼图吗。
先说它是干嘛的
abogen 说白了就是个「电子书转有声书」的工具。
你把 EPUB、PDF、TXT、Markdown 甚至字幕文件丢进去,它用 Kokoro-82M 这个语音模型把文字念出来,还顺手给你生成同步字幕。

底层模型是本地跑的,不联网也能用(模型下好之后)。
为什么是 Kokoro-82M?这是个只有 8200 万参数的小模型,跟那些动辄几十亿参数的云端 TTS 比起来小得离谱,但效果在本地模型里算第一梯队。
关键是它吃的资源少,一张普通显卡甚至纯 CPU 都能跑。
README 里那个 demo 是台 RTX 2060 笔记本显卡,3000 字 11 秒就处理完了,出 3 分多钟音频。这对家用机来说完全没压力。
它真正打动我的三件事
第一,能丢 NAS 上。
abogen 有桌面版和 Web 版。Web 版一行 Docker 就起来:
docker build -t abogen .mkdir -p ~/abogen-data/uploads ~/abogen-data/outputsdocker run --rm -p 8808:8808 -v ~/abogen-data:/data --name abogen abogen
浏览器开 8808 端口就能用。

这意味着我可以在公司摸鱼的时候,远程把家里 NAS 上的 PDF 扔进去转,回家路上直接听。
不用每台电脑都配一遍 Python 环境,这点对搞机的来说太舒服了。
第二,能直接推进 Audiobookshelf。
这是我没想到它会做、但一做就特别对的功能。
abogen 可以配置好 Audiobookshelf 的地址、库 ID、文件夹和 API token,生成完的有声书直接推过去,自动进你的有声书库整理好。

你想想这个链路:NAS 上 Audiobookshelf 存书 → abogen 在 NAS 上本地转语音 → 转完自动回推 Audiobookshelf。
全程本地,数据不出门,还不用手动倒文件。我这种既跑 ABS 又想本地 TTS 的人,简直是被精准命中。
第三,字幕和章节是认真的。
它不是只吐一段干音频。字幕能选行级、句级、句+逗号、甚至逐词高亮;输出格式有 SRT、ASS,也能直接出 M4B(带章节的那种)。

EPUB 和 PDF 还能按章节拆开,每个章节单独一个文件,或者合并成一个。对我这种想「听书但又要能跳转章节」的人来说,这比很多在线工具都细。
它还顺手给了些进阶东西:
语音混合器(把几个声音模型混一起存成配置)、队列模式(一堆文件批量转,每个单独设参数)、LLM 文本归一化(接个 OpenAI 兼容端点,帮你把缩写、标点处理对,免得 TTS 念错)。

最后
整体看下来,abogen 最让我舒服的点不是它技术多牛,而是它把「Kokoro 本地 TTS + NAS 自托管 + Audiobookshelf 入库」这一串本来要自己拼的活儿,给打包顺了。
对小众但有刚需的这群人来说,这种「刚好接上我家现有架构」的工具,比那些大而全的云平台实在多了。
你们 NAS 上跑 Audiobookshelf 的吗?有没有人也试过 abogen 或者别的本地 TTS,音质到底咋样,评论区聊聊,我也想听听真实对比。
Github 仓库:
https://github.com/denizsafak/abogen
点击下方卡片,关注 Jack Bytes
这个公众号曾分享过许多有趣的开源项目。如果你不想逐篇翻阅历史文章,也可以直接关注微信公众号「Jack Bytes」,通过后台留言与我们互动交流
