add edge tts

This commit is contained in:
2025-11-28 20:27:10 +08:00
parent f796a3833b
commit 87160c5265
20 changed files with 3589 additions and 3 deletions

View File

@ -0,0 +1,404 @@
# 📚 TTS 模块文档索引
快速查找所有 TTS 相关的文件和文档。
---
## 🚀 新手上路(按阅读顺序)
1. **本文件**(你现在看的)
- 📄 `TTS_DOCUMENTATION_INDEX.md` - 文档总览
2. **5分钟快速开始**
- 📄 `TTS_QUICK_START.md` - 最快上手指南
- 包含:安装、配置、基础代码示例
3. **详细 API 文档**
- 📄 `tts/README.md` - 完整模块文档
- 包含:所有 API、支持的语言、扩展指南
4. **架构理解**
- 📄 `TTS_ARCHITECTURE.md` - 架构设计文档
- 包含:架构图、设计模式、扩展点
5. **集成到应用**
- 📄 `TTS_INTEGRATION_CHECKLIST.md` - 集成清单
- 包含:步骤化集成指南、验证清单
6. **实现细节**
- 📄 `TTS_IMPLEMENTATION_SUMMARY.md` - 实现总结
- 📄 `TTS_IMPLEMENTATION_COMPLETE.md` - 完成报告
---
## 📁 核心代码文件
### 抽象层
```python
tts/base.py
├── class TTSEngine(ABC)
├── async synthesize()
├── async get_supported_voices()
├── get_engine_name()
└── get_engine_version()
```
### Edge-TTS 实现
```python
tts/edge_tts_engine.py
├── class EdgeTTSEngine(TTSEngine)
├── 支持 10+ 种语言
├── 支持语速调整 (0.5-2.0)
├── 支持音调调整 (0.5-2.0)
└── 预定义语言默认声音
```
### 工厂模式
```python
tts/factory.py
├── class TTSEngineFactory
├── create() - 创建引擎单例
├── register_engine() - 注册新引擎
├── get_supported_engines() - 列出支持的引擎
└── clear_instances() - 清空缓存
├── enum TTSEngineType
└── EDGE_TTS = "edge-tts"
```
### 高级服务
```python
tts/service.py
├── class TTSService
├── async synthesize() [推荐使用]
├── async get_supported_voices()
├── get_engine_info()
└── reset_engine()
```
### 配置
```python
config/settings.py [已更新]
├── TTS_ENGINE: str = "edge-tts"
├── TTS_LANGUAGE: str = "zh-CN"
├── TTS_VOICE: str = ""
├── TTS_RATE: float = 1.0
└── TTS_PITCH: float = 1.0
```
### API 路由
```python
api/v1/tts_routes.py [新增]
├── POST /api/v1/tts/synthesize
├── GET /api/v1/tts/voices
├── GET /api/v1/tts/engines
└── GET /api/v1/tts/engine-info
```
---
## 🎯 按用途查找
### 我想...
#### ...快速了解如何使用
👉 `TTS_QUICK_START.md` (5分钟)
#### ...查看完整 API 文档
👉 `tts/README.md` (详细)
#### ...理解系统设计和架构
👉 `TTS_ARCHITECTURE.md` (全面)
#### ...集成到我的应用
👉 `TTS_INTEGRATION_CHECKLIST.md` (步骤化)
#### ...看代码示例
👉 `tts/examples.py` (可运行)
#### ...扩展新的 TTS 引擎
👉 `tts/README.md` 中的 "扩展新的 TTS 引擎" 部分
#### ...了解实现细节
👉 `TTS_IMPLEMENTATION_SUMMARY.md` (简明)
#### ...查看项目完成报告
👉 `TTS_IMPLEMENTATION_COMPLETE.md` (全面)
---
## 📖 文档详细介绍
### 1⃣ TTS_QUICK_START.md
**用途**: 最快速的上手指南
**时长**: 5-10 分钟阅读
**内容**:
- 前置条件
- 3 步快速开始
- 常见用途4 个示例)
- 在实际项目中集成
- 常见问题
**适合**:想立即开始使用的人
---
### 2⃣ tts/README.md
**用途**: 完整的模块文档和 API 参考
**时长**: 20-30 分钟阅读
**内容**:
- 模块结构
- 3 种使用方式
- 完整 API 文档
- 支持的语言和声音
- 扩展新引擎的完整步骤
- REST API 端点
- 性能优化
- 错误处理
**适合**:需要深入了解 API 的人
---
### 3⃣ TTS_ARCHITECTURE.md
**用途**: 系统架构和设计文档
**时长**: 20-30 分钟阅读
**内容**:
- 整体架构图
- 类关系图
- 执行流程图
- 4 种设计模式说明
- 模块职责表
- 扩展点说明
- 异步设计
- 状态管理
- 错误处理
**适合**:想理解系统设计的人
---
### 4⃣ TTS_INTEGRATION_CHECKLIST.md
**用途**: 集成到应用的步骤化指南
**时长**: 15-20 分钟阅读/执行
**内容**:
- 基础集成步骤3 步)
- 集成到应用3 种方式)
- 测试验证8 个检查项)
- 可选增强功能
- 部署前检查清单
- 问题排查
**适合**:想要完整集成到应用的人
---
### 5⃣ TTS_IMPLEMENTATION_SUMMARY.md
**用途**: 项目实现的快速总结
**时长**: 10-15 分钟阅读
**内容**:
- 概述
- 文件结构
- 核心设计
- 配置支持
- 使用方式3 种)
- API 路由
- 特点列表
- 后续建议
**适合**:想快速了解实现内容的人
---
### 6⃣ TTS_IMPLEMENTATION_COMPLETE.md
**用途**: 项目完成报告
**时长**: 10-15 分钟阅读
**内容**:
- 需求完成情况100%
- 文件清单15 个新增文件)
- 核心功能总结
- 快速开始3 步)
- 使用场景4 个示例)
- 配置详解
- 设计特点
- 项目统计
- 后续工作建议
**适合**:想了解项目完成情况的人/管理者
---
### 7⃣ tts/examples.py
**用途**: 可运行的代码示例
**内容**:
- 4 个完整示例
- 可直接运行:`python tts/examples.py`
**适合**:学习如何使用的人
---
## 🔀 推荐阅读路径
### 路径 1我想立即开始使用15 分钟)
```
1. TTS_QUICK_START.md (5 min)
2. 修改 .env 配置
3. 运行 tts/examples.py
4. 尝试在代码中使用
```
### 路径 2我需要完整理解1 小时)
```
1. TTS_QUICK_START.md (5 min)
2. tts/README.md (25 min)
3. TTS_ARCHITECTURE.md (20 min)
4. 阅读源代码
```
### 路径 3我要集成到应用中2 小时)
```
1. TTS_QUICK_START.md (5 min)
2. TTS_INTEGRATION_CHECKLIST.md (15 min)
3. tts/README.md - API 部分 (15 min)
4. 按集成清单逐步实施 (60 min)
5. 运行测试验证 (20 min)
```
### 路径 4我要扩展新引擎3 小时)
```
1. TTS_ARCHITECTURE.md (25 min)
2. tts/README.md - 扩展部分 (15 min)
3. 阅读 EdgeTTSEngine 源代码 (20 min)
4. 实现新引擎 (90 min)
5. 测试和文档 (30 min)
```
---
## 🎯 快速链接
| 我想... | 点击这里 |
|--------|---------|
| 5分钟快速开始 | `TTS_QUICK_START.md` |
| 查看 API 文档 | `tts/README.md` |
| 理解架构设计 | `TTS_ARCHITECTURE.md` |
| 集成到应用 | `TTS_INTEGRATION_CHECKLIST.md` |
| 看代码示例 | `tts/examples.py` |
| 了解实现细节 | `TTS_IMPLEMENTATION_SUMMARY.md` |
| 查看项目状态 | `TTS_IMPLEMENTATION_COMPLETE.md` |
| 学习扩展方法 | `tts/README.md` + `TTS_ARCHITECTURE.md` |
---
## 📊 文档统计
| 文档 | 字数 | 读时 |
|------|------|------|
| TTS_QUICK_START.md | ~3,500 | 5-10 min |
| tts/README.md | ~5,000 | 20-30 min |
| TTS_ARCHITECTURE.md | ~4,500 | 20-30 min |
| TTS_INTEGRATION_CHECKLIST.md | ~3,000 | 15-20 min |
| TTS_IMPLEMENTATION_SUMMARY.md | ~2,500 | 10-15 min |
| TTS_IMPLEMENTATION_COMPLETE.md | ~3,500 | 10-15 min |
| **总计** | **~22,000** | **~90 min** |
---
## ✨ 核心概念速查
### 三层架构
1. **高级服务层** - `TTSService` (推荐使用)
2. **工厂层** - `TTSEngineFactory` (管理实例)
3. **引擎层** - `TTSEngine` (具体实现)
### 四种使用方式
1. `TTSService.synthesize()` - 推荐
2. `TTSEngineFactory.create()` - 灵活
3. `EdgeTTSEngine()` - 直接
4. REST API - 无代码
### 四个设计模式
1. **工厂模式** - 管理引擎创建
2. **抽象基类** - 定义接口
3. **服务外观** - 简化接口
4. **单例模式** - 实例缓存
### 四个 API 端点
1. `POST /api/v1/tts/synthesize` - 合成语音
2. `GET /api/v1/tts/voices` - 获取声音
3. `GET /api/v1/tts/engines` - 支持的引擎
4. `GET /api/v1/tts/engine-info` - 引擎信息
---
## 🔗 外部资源
### Edge-TTS
- GitHub: https://github.com/rany2/edge-tts
- PyPI: https://pypi.org/project/edge-tts/
### Python 设计模式
- 工厂模式: https://refactoring.guru/design-patterns/factory-method
- 抽象基类: https://docs.python.org/3/library/abc.html
### FastAPI
- 官方文档: https://fastapi.tiangolo.com/
- 路由: https://fastapi.tiangolo.com/tutorial/first-steps/
---
## 💬 常见问题速答
**Q: 从哪里开始?**
A: 阅读 `TTS_QUICK_START.md`5分钟内了解如何使用。
**Q: 支持哪些语言?**
A: 10+ 种,详见 `tts/README.md` 中的语言表。
**Q: 如何扩展新引擎?**
A: 看 `tts/README.md` 中的 "扩展新的 TTS 引擎" 部分。
**Q: API 文档在哪?**
A: `tts/README.md` 中有完整的 API 参考。
**Q: 如何集成到我的应用?**
A: 按 `TTS_INTEGRATION_CHECKLIST.md` 中的步骤进行。
**Q: 能运行测试吗?**
A: 运行 `python tts/examples.py` 查看示例。
---
## 📞 文档问题
- 发现 typo检查对应文档并修正
- 有建议?添加到相应文档末尾
- 需要新文档?创建新 markdown 文件并添加到此索引
---
## 📅 文档版本
| 文档 | 版本 | 日期 | 作者 |
|------|------|------|------|
| 所有文档 | 1.0.0 | 2025-11-27 | AI Assistant |
---
**提示**:使用 Ctrl+F或 Cmd+F在本文件中搜索关键词快速查找。
**祝你使用愉快!🎉**