每天上班盯着双屏敲代码看日志,下班在地铁上如果还要继续盯着手机屏幕看电子书,眼睛是真的有点吃不消。为了缓解视疲劳,我之前试着去各大听书平台搜自己想看的书,结果很尴尬:你想看的社科或者技术类书籍往往没有音频版,就算有,很多也是早年那种毫无感情、跟复读机一样的机器合成音,听得人当场想卸载。
其实很多时候,我们的诉求很简单:手里已经存了一大堆 EPUB 格式的精排电子书,只要能用一个稍微自然一点的男声或女声,平铺直叙地把它念出来,方便我在通勤或者做家务的时候“听”就行了。
epub-tts 到底是个啥?
今天要聊的这个 epub-tts 项目,完美解决了这个痛点。它的核心功能极其直白:这是一个基于 Python 的开源脚本工具,能把你本地的 EPUB 格式电子书,逐章解析并转换为可以随时随地播放的音频文件。
核心爽点在哪?
1. 免费且极其自然的声音引擎 这类工具最怕的就是声音太假。epub-tts 默认支持调用微软 Edge 的 TTS(文本转语音)接口。懂行的朋友都知道,微软的这个语音接口不仅是免费的,而且发音极其自然流畅,断句准确,尤其是几个中文的 Neural 模型(比如 Xiaoxiao),听起来甚至比一些平台上的真人播讲还要舒服,拿来听小说或者社科读物完全不会出戏。
2. 聪明的章节拆分与 M4B 格式支持 很多简陋的文字转语音工具,会粗暴地把一整本书压成一个长达十几小时的巨大 MP3 文件,拖拽进度简直是噩梦。这个工具会聪明地解析 EPUB 原本的目录结构,按章节帮你切分好音频。更棒的是,它支持将音频打包成 M4B 格式。这是专用的有声书格式,放到手机自带的播客或者听书软件里,不仅自带清晰的章节目录,还能完美记忆你上次听到的进度。
怎么折腾跑起来?
作为一个纯 Python 编写的命令行工具,它的安装和使用没有任何心智负担。建议在你的电脑上直接通过 pip 安装:
# 1. 通过 pip 安装 epub-tts
pip install epub-tts
# 2. 基本使用:一行命令转换本地的 epub 文件
# 默认情况下,它会在当前目录生成音频文件
epub-tts --epub your-local-book.epub
# 3. 进阶玩法:指定特定的发音人(比如指定一个好听的中文女声)
epub-tts --epub your-local-book.epub --voice zh-CN-XiaoxiaoNeural
(注:如果你的机器上安装了 FFmpeg,它在处理音频拼接和格式转换时会更加丝滑。)
总结
对于那些平时屯了一大堆 EPUB 电子书,却因为工作太忙、长时间看屏幕导致眼睛疲劳的开发者或阅读爱好者来说,epub-tts 简直是碎片时间利用的神器。花几分钟在电脑上跑个脚本,把书转成音频丢进手机里,剩下的就可以交给通勤路上的耳机了。
项目地址:https://github.com/rafael1mc/epub-tts