项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2084
技术标签
使用教程
环境要求
- Python 3 环境(README 使用 python3 命令)
- pip,可安装 requirements.txt 中的依赖
- OpenAI API Key,或 Azure Text-to-Speech 的 KEY 与 REGION
- 如使用 Docker WebUI,需已安装 Docker 与 docker compose
安装与启动步骤
-
1克隆仓库
把项目代码下载到本地并进入项目目录,后续所有命令都在该目录执行。
git clone https://github.com/p0n1/epub_to_audiobook.git cd epub_to_audiobook -
2创建虚拟环境
用 venv 隔离依赖,避免污染系统 Python;Windows 下激活命令不同。
python3 -m venv venv source venv/bin/activate -
3安装依赖
安装 requirements.txt 中的全部依赖。Python 3.14 需使用仓库中最新的依赖集。
pip install -r requirements.txt -
4配置 API 密钥
按所选 TTS 服务设置对应环境变量:OpenAI 用 OPENAI_API_KEY,Azure 需 KEY 与 REGION。
export OPENAI_API_KEY=sk-xxxxxxxx -
5试运行检查章节
加 --preview 只打印章节序号、标题与字数,不调用 TTS,可先确认拆分是否正确。
python3 main.py your_book.epub ./output --preview -
6正式转换有声书
指定输入 EPUB、输出目录和 TTS 提供方;中文书加 --language zh-CN。
python3 main.py your_book.epub ./output --tts openai --language zh-CN -
7Docker 启动 WebUI
先编辑 docker-compose.webui.yml 填入 API 密钥,再启动,适合不想用命令行的用户。
docker compose -f docker-compose.webui.yml up
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 否 | 使用 OpenAI TTS(--tts=openai)时必须设置 | sk-xxxxxxxx |
MS_TTS_KEY | 否 | 使用 Azure TTS(默认 --tts=azure)时必须设置 | your_subscription_key |
MS_TTS_REGION | 否 | Azure 语音服务的区域,与 MS_TTS_KEY 配套使用 | eastus |
--tts | 否 | 选择 TTS 提供方,默认 azure | openai |
--language | 否 | 语音语言,默认 en-US;中文书用 zh-CN/zh-TW/zh-HK | zh-CN |
--worker_count | 否 | 并行处理的 worker 数量,可显著加速转换 | 4 |
如何确认成功
WebUI 启动后浏览器访问 http://localhost:7860 可打开界面;命令行可先跑 python3 main.py -h 确认参数正常,转换完成后输出目录会生成音频文件。
常见问题
Q:转换中文电子书要加什么参数?
A:加 --language zh-CN(繁体可用 zh-TW、zh-HK)。该参数会帮助工具用更适合中文的策略切分文本块。
Q:如何查看全部可用参数?
A:在项目目录执行 python3 main.py -h,会打印完整的 usage 与参数说明。
Q:转换前想确认成本,不想每次手动确认怎么办?
A:脚本会在估算云 TTS 成本后询问是否继续;加 --no_prompt 可跳过该询问,适合脚本化运行。
Q:想先看章节拆分结果、不生成音频?
A:加 --preview,脚本不会调用 TTS,只打印章节索引、标题和字符数。
Q:安装依赖时报 PyO3 兼容错误怎么办?
A:README 指出 Python 3.14 需使用本仓库更新后的依赖集;旧版固定 gradio==5.33.1 会强制 pydantic-core 源码构建并失败。
注意事项
- --tts 默认值为 azure,用 OpenAI 时务必显式传 --tts openai 并设置 OPENAI_API_KEY。
- Docker WebUI 方式必须先把 API 密钥写入 docker-compose.webui.yml,README 未提供其他配置方式。
- 使用 --worker_count 并行时章节处理顺序可能变化,但不影响最终有声书结果。
- 密钥请通过环境变量或 compose 文件传入,不要写进命令历史或提交到仓库。
核心亮点
- 内置 WebUI,无需命令行即可操作,降低使用门槛
- 深度适配 Audiobookshelf,生成文件可直接导入并保留元数据
- 支持 OpenAI TTS 多种语音,可定制朗读风格
不足之处
- 依赖 OpenAI API,需要付费且网络环境稳定
- 文档/社区待观察
适用场景
- 个人将收藏的 EPUB 书籍转为有声书,在通勤时收听
- 自建 Audiobookshelf 服务的用户批量转换电子书
- 内容创作者为电子书生成音频版本用于分发
替代项目
Audiobook Maker、Coqui TTS、Edge TTS
上一篇:subvert
同类项目推荐
vits2
开源
一条流水线生成自然语音,又快又像真人
VITS2: Improving Quality and Efficiency of Single-Stage Text-to-Speech with Adversar···
JamBot
开源
用 Python 自动化音乐制作,快速生成混音灵感。
spoken-word
开源
在网页里轻松搞定语音音频处理
Spoken Word
audiblez
开源
把电子书一键变成有声书,通勤路上用耳朵读书
Generate audiobooks from e-books
BackgroundAudio
开源
让 Pico 和 ESP32 轻松播放语音和音乐,不卡主程序
Arduino library for easy, interrupt driven speech, MP3, AAC, and WAV playback on the···
Amphion
开源
一站式音频生成工具箱,快速上手语音、音乐与歌声合成
Amphion (/æmˈfaɪən/) is a toolkit for Audio, Music, and Speech Generation. Its p···
Advanced-RVC-Inference
开源
一键下载并加速运行 RVC 语音转换模型,省时省力
Advanced RVC Inference for quicker and effortless model downloads
audio-development-tools
开源
一站式音频开发工具箱,从信号处理到AI生成全搞定
Audio Development Tools (ADT) is a project for advancing sound, speech, and music te···
kokoro-web
开源
浏览器里跑AI语音合成,离线免费还能定制声音
ML-powered speech synthesis directly in your browser
