cd C:/Users/zxk/.workbuddy/skills/epub-novel-reader/scripts
python tts_server.py
或双击运行 start_tts.bat
> 后台运行:服务器默认占用端口 8766,首次合成需要联网等待(约10-30秒),之后自动缓存到 .tts_cache/ 目录。
python -m http.server 8765 --directory <输出目录>
访问:http://127.0.0.1:8765/读书器.html
解析 EPUB 文件,提取章节文本。
python extract_epub.py <epub文件路径> <输出JSON路径>
参数:
epub_path: EPUB 文件路径
output_json: 输出 JSON 路径(可选,默认 chapters.json)
输出格式:
[
{"id": 0, "title": "第一章 黑暗中的光", "content": ["第一段文字...", "第二段..."]},
...
]
从章节 JSON 生成 HTML 阅读器。
python build_reader.py <chapters.json> <输出HTML路径>
Edge TTS 本地代理服务器。
python tts_server.py [--port 8766]
API 接口:
GET /voices → 返回 11 个可用语音列表
POST /tts → body: {text, voice, rate, volume} → 返回 audio/mpeg
GET /tts?text=...&voice=...&rate=1.0 → 直接 GET 合成
| ID | 名称 | 性别 | 推荐场景 |
|----|------|------|---------|
| zh-CN-XiaoxiaoNeural | 晓晓(标准女声) | 女 | 阅读首选 |
| zh-CN-XiaoyiNeural | 晓伊(柔和女声) | 女 | 情感小说 |
| zh-CN-YunxiNeural | 云希(情感男声) | 男 | 男性视角 |
| zh-CN-YunjianNeural | 云健(清晰男声) | 男 | 知识类 |
| zh-CN-YunxiaNeural | 云夏(男声) | 男 | 备用 |
| zh-CN-YunyangNeural | 云扬(男声) | 男 | 备用 |
| zh-HK-HiuGaaiNeural | 香港-晓积 | 女 | 粤语 |
| zh-TW-HsiaoChenNeural | 台湾-晓臻 | 女 | 台语 |
| zh-TW-YunJheNeural | 台湾-云哲 | 男 | 台语 |
| zh-CN-shaanxi-XiaoniNeural | 陕西话-小妮 | 女 | 方言趣味 |
| zh-CN-liaoning-XiaobeiNeural | 东北话-小北 | 女 | 方言趣味 |
pip install edge-tts 安装到该版本
.tts_cache/
TTS_SERVER 变量必须指向实际运行的服务器地址
Stop-Process python 清场再启动
python 命令默认指向 uv 管理的 Python 3.11,TTS 服务器用 Python 3.14 时需明确指定路径
共 1 个版本