santinic/audiblez
GitHub: santinic/audiblez
基于 Kokoro-82M 语音合成模型将 EPUB 电子书自动转换为多语言有声书的桌面工具。
Stars: 7747 | Forks: 664
# Audiblez:从电子书生成有声书
[](https://github.com/santinic/audiblez/actions/workflows/pip-install.yaml)
[](https://github.com/santinic/audiblez/actions/workflows/git-clone-and-run.yml)


### v4 现已支持图形界面、CUDA 及多种语言!

Audiblez 使用 Kokoro 的高质量语音合成技术,
将常规的 `.epub` 电子书生成为 `.m4b` 有声书。
[Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) 是最近发布的一款文本转语音模型,仅有 82M 参数,且输出的声音非常自然。
它采用 Apache 许可证发布,并在不到 100 小时的音频数据上进行了训练。
目前支持以下语言:🇺🇸 🇬🇧 🇪🇸 🇫🇷 🇮🇳 🇮🇹 🇯🇵 🇧🇷 🇨🇳
在 Google Colab 的 T4 GPU 上通过 Cuda 运行,**将奥威尔的《动物庄园》(约 160,000 字符)转换为有声书只需约 5 分钟**,处理速度约为每秒 600 个字符。
在我的 M2 MacBook Pro 上仅使用 CPU 运行,大约需要 1 小时,处理速度约为每秒 60 个字符。
## 如何安装命令行工具
如果您的计算机上已安装 Python 3,可以使用 pip 进行安装。
您还需要在计算机上安装 `espeak-ng` 和 `ffmpeg`:
```
sudo apt install ffmpeg espeak-ng # on Ubuntu/Debian 🐧
pip install audiblez
```
```
brew install ffmpeg espeak-ng # on Mac 🍏
pip install audiblez
```
然后,您可以通过以下命令直接转换 .epub 文件:
```
audiblez book.epub -v af_sky
```
它会首先在同一目录下生成一系列 `book_chapter_1.wav`、`book_chapter_2.wav` 等文件,
最终生成一个包含整本书内容的 `book.m4b` 文件,您可以使用 VLC 或任何有声书播放器进行收听。
只有在您的计算机上安装了 `ffmpeg` 时,它才会生成 `.m4b` 文件。
## 如何运行 GUI
GUI 是一个用于操作 audiblez 的简单图形界面。
您需要安装一些额外的依赖项才能运行 GUI:
```
sudo apt install ffmpeg espeak-ng
sudo apt install libgtk-3-dev # just for Ubuntu/Debian 🐧, Windows/Mac don't need this
pip install audiblez pillow wxpython
```
然后,您可以通过以下命令运行 GUI:
```
audiblez-ui
```
## 如何在 Windows 上运行
经过多次尝试,我们建议在 Windows 的 Python venv 中安装 audiblez:
1. 打开一个 Windows 终端
2. 新建一个文件夹:`mkdir audiblez`
3. 进入该文件夹:`cd audiblez`
4. 创建 venv:`python -m venv venv`
5. 激活 venv:`.\venv\Scripts\Activate.ps1`
6. 安装依赖项:`pip install audiblez pillow wxpython`
7. 现在您可以运行 `audiblez` 或 `audiblez-ui` 了
8. 若要支持 Cuda,您需要按照说明安装 Pytorch:https://pytorch.org/get-started/locally/
## 语速
默认情况下,生成的音频使用正常语速,但您可以通过指定 0.5 到 2.0 之间的语速参数,将其调慢或调快最多两倍:
```
audiblez book.epub -v af_sky -s 1.5
```
## 支持的音色
使用 `-v` 选项指定要使用的音色。可用的音色列表如下。
第一个字母是语言代码,第二个字母是说话者的性别,例如 `im_nicola` 是意大利语男声。
[如需试听 Kokoro-82M 音色样本,请前往此处](https://claudio.uk/posts/audiblez-v4.html)
| 语言 | 音色 |
|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 🇺🇸 美式英语 | `af_alloy`, `af_aoede`, `af_bella`, `af_heart`, `af_jessica`, `af_kore`, `af_nicole`, `af_nova`, `af_river`, `af_sarah`, `af_sky`, `am_adam`, `am_echo`, `am_eric`, `am_fenrir`, `am_liam`, `am_michael`, `am_onyx`, `am_puck`, `am_santa` |
| 🇬🇧 英式英语 | `bf_alice`, `bf_emma`, `bf_isabella`, `bf_lily`, `bm_daniel`, `bm_fable`, `bm_george`, `bm_lewis` |
| 🇪🇸 西班牙语 | `ef_dora`, `em_alex`, `em_santa` |
| 🇫🇷 法语 | `ff_siwis` |
| 🇮🇳 印地语 | `hf_alpha`, `hf_beta`, `hm_omega`, `hm_psi` |
| 🇮🇹 意大利语 | `if_sara`, `im_nicola` |
| 🇯🇵 日语 | `jf_alpha`, `jf_gongitsune`, `jf_nezumi`, `jf_tebukuro`, `jm_kumo` |
| 🇧🇷 巴西葡萄牙语 | `pf_dora`, `pm_alex`, `pm_santa` |
| 🇨🇳 普通话 | `zf_xiaobei`, `zf_xiaoni`, `zf_xiaoxiao`, `zf_xiaoyi`, `zm_yunjian`, `zm_yunxi`, `zm_yunxia`, `zm_yunyang` |
有关音色质量的更多详细信息,请查看此文档:[Kokoro-82M 音色](https://huggingface.co/hexgrad/Kokoro-82M/blob/main/VOICES.md)
## 如何在 GPU 上运行
默认情况下,audiblez 在 CPU 上运行。如果您传入 `--cuda` 选项,它将尝试通过 Torch 使用 Cuda 设备。
查看此示例:[在带有 Cuda 的 Google Colab Notebook 上运行 Audiblez ](https://colab.research.google.com/drive/164PQLowogprWQpRjKk33e-8IORAvqXKI?usp=sharing])。
我们目前不支持 Apple Silicon,因为 Kokoro 目前还没有基于 MLX 的实现。一旦其可用,我们就会提供支持。
## 手动选择要转换的章节
有时您可能需要手动选择电子书中要朗读的章节/部分。
为此,您可以使用 `--pick` 来交互式地选择要转换的章节(无需运行 GUI)。
## 帮助页面
若要查看所有可用选项,您可以查阅帮助页面 `audiblez --help`:
```
usage: audiblez [-h] [-v VOICE] [-p] [-s SPEED] [-c] [-o FOLDER] epub_file_path
positional arguments:
epub_file_path Path to the epub file
options:
-h, --help show this help message and exit
-v VOICE, --voice VOICE
Choose narrating voice: a, b, e, f, h, i, j, p, z
-p, --pick Interactively select which chapters to read in the audiobook
-s SPEED, --speed SPEED
Set speed from 0.5 to 2.0
-c, --cuda Use GPU via Cuda in Torch if available
-o FOLDER, --output FOLDER
Output folder for the audiobook and temporary files
example:
audiblez book.epub -l en-us -v af_sky
to use the GUI, run:
audiblez-ui
```
## 作者
由 [Claudio Santini](https://claudio.uk) 于 2025 年编写,采用 MIT 许可证分发。
相关文章:[Audiblez v4:从电子书生成有声书](https://claudio.uk/posts/audiblez-v4.html)
标签:Kokoro, Python, TTS, Vectored Exception Handling, 凭据扫描, 无后门, 有声书, 电子书, 语音合成, 逆向工具, 音频处理