liumaolin
commited on
Commit
·
a5d5551
1
Parent(s):
3cbe74d
Update README file.
Browse files
README.md
CHANGED
|
@@ -138,9 +138,9 @@ WHISPER_COREML=1 CMAKE_ARGS="-DGGML_METAL=on" pip install -r requirements.txt
|
|
| 138 |
brew install ffmpeg
|
| 139 |
```
|
| 140 |
|
| 141 |
-
5.
|
| 142 |
```bash
|
| 143 |
-
# 安装 kokoro-onnx
|
| 144 |
pip install kokoro-onnx
|
| 145 |
|
| 146 |
# 重新安装指定版本的 numpy
|
|
@@ -173,7 +173,8 @@ python src/VoiceDialogue/main.py --help
|
|
| 173 |
```
|
| 174 |
|
| 175 |
**首次运行说明**:
|
| 176 |
-
- 看到 "服务启动成功"
|
|
|
|
| 177 |
|
| 178 |
#### 2. API 服务模式
|
| 179 |
|
|
@@ -209,8 +210,8 @@ python src/VoiceDialogue/main.py --mode api --port 9000 --reload
|
|
| 209 |
| `--reload`| | 无 | `False` | (API模式) 启用热重载 |
|
| 210 |
|
| 211 |
**支持的说话人角色**(动态加载):
|
| 212 |
-
-
|
| 213 |
-
-
|
| 214 |
|
| 215 |
### 高级配置
|
| 216 |
|
|
@@ -268,8 +269,13 @@ VoiceDialogue/
|
|
| 268 |
├── third_party/ # 第三方库
|
| 269 |
│ └── moyoyo_tts/ # GPT-SoVITs TTS 引擎
|
| 270 |
├── tests/ # 测试文件
|
| 271 |
-
├── docs/ # 文档目录 (空)
|
| 272 |
├── assets/ # 资源文件
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 273 |
├── requirements.txt # Python 依赖
|
| 274 |
└── README.md # 项目说明文档
|
| 275 |
```
|
|
@@ -296,6 +302,17 @@ VoiceDialogue/
|
|
| 296 |
| **AudioStreamPlayer** | 音频流播放 | 实时音频输出播放 |
|
| 297 |
| **FastAPI App** | API服务 | 提供HTTP接口,封装核心服务 |
|
| 298 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 299 |
## 🛠️ 故障排除
|
| 300 |
|
| 301 |
### 1. 模型下载失败
|
|
@@ -322,15 +339,52 @@ pip install -U huggingface_hub
|
|
| 322 |
- **问题**: 包版本冲突或导入错误。
|
| 323 |
- **解决方案**: 强烈建议在虚拟环境中安装。如果遇到问题,尝试重建虚拟环境。
|
| 324 |
```bash
|
|
|
|
| 325 |
conda deactivate
|
| 326 |
conda env remove -n voicedialogue
|
| 327 |
-
|
|
|
|
|
|
|
|
|
|
| 328 |
```
|
| 329 |
|
| 330 |
### 5. 说话人角色不存在
|
| 331 |
- **问题**: 指定的说话人不在支持列表中。
|
| 332 |
- **解决方案**: 使用 `python src/VoiceDialogue/main.py --help` 查看所有可用的说话人角色。
|
| 333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 334 |
## 📄 许可证
|
| 335 |
|
| 336 |
本项目采用 MIT 许可证开源。
|
|
|
|
| 138 |
brew install ffmpeg
|
| 139 |
```
|
| 140 |
|
| 141 |
+
5. **安装额外依赖**
|
| 142 |
```bash
|
| 143 |
+
# 安装 kokoro-onnx
|
| 144 |
pip install kokoro-onnx
|
| 145 |
|
| 146 |
# 重新安装指定版本的 numpy
|
|
|
|
| 173 |
```
|
| 174 |
|
| 175 |
**首次运行说明**:
|
| 176 |
+
- 看到 "服务启动成功" 提示后即可开始说话
|
| 177 |
+
- 系统会自动检测语音活动并进行识别和回复
|
| 178 |
|
| 179 |
#### 2. API 服务模式
|
| 180 |
|
|
|
|
| 210 |
| `--reload`| | 无 | `False` | (API模式) 启用热重载 |
|
| 211 |
|
| 212 |
**支持的说话人角色**(动态加载):
|
| 213 |
+
- **中文角色**:`罗翔`, `马保国`, `沈逸`, `杨幂`, `周杰伦`, `马云`
|
| 214 |
+
- **英文角色**:`Heart`, `Bella`, `Nicole`
|
| 215 |
|
| 216 |
### 高级配置
|
| 217 |
|
|
|
|
| 269 |
├── third_party/ # 第三方库
|
| 270 |
│ └── moyoyo_tts/ # GPT-SoVITs TTS 引擎
|
| 271 |
├── tests/ # 测试文件
|
|
|
|
| 272 |
├── assets/ # 资源文件
|
| 273 |
+
│ ├── models/ # 模型文件存储
|
| 274 |
+
│ ├── audio/ # 音频资源
|
| 275 |
+
│ ├── libraries/ # 库文件
|
| 276 |
+
│ └── www/ # Web资源
|
| 277 |
+
├── main.py # 项目启动入口(简化版)
|
| 278 |
+
├── pyproject.toml # 项目配置文件
|
| 279 |
├── requirements.txt # Python 依赖
|
| 280 |
└── README.md # 项目说明文档
|
| 281 |
```
|
|
|
|
| 302 |
| **AudioStreamPlayer** | 音频流播放 | 实时音频输出播放 |
|
| 303 |
| **FastAPI App** | API服务 | 提供HTTP接口,封装核心服务 |
|
| 304 |
|
| 305 |
+
### 多线程架构
|
| 306 |
+
|
| 307 |
+
系统采用多线程设计,各组件通过队列进行通信:
|
| 308 |
+
|
| 309 |
+
- **音频采集线程**: 持续捕获音频数据
|
| 310 |
+
- **语音监测线程**: 检测用户语音活动
|
| 311 |
+
- **ASR线程**: 语音识别处理
|
| 312 |
+
- **LLM线程**: 文本生成处理
|
| 313 |
+
- **TTS线程**: 语音合成处理
|
| 314 |
+
- **音频播放线程**: 音频输出播放
|
| 315 |
+
|
| 316 |
## 🛠️ 故障排除
|
| 317 |
|
| 318 |
### 1. 模型下载失败
|
|
|
|
| 339 |
- **问题**: 包版本冲突或导入错误。
|
| 340 |
- **解决方案**: 强烈建议在虚拟环境中安装。如果遇到问题,尝试重建虚拟环境。
|
| 341 |
```bash
|
| 342 |
+
# 使用 conda
|
| 343 |
conda deactivate
|
| 344 |
conda env remove -n voicedialogue
|
| 345 |
+
|
| 346 |
+
# 使用 uv
|
| 347 |
+
rm -rf .venv
|
| 348 |
+
uv venv
|
| 349 |
```
|
| 350 |
|
| 351 |
### 5. 说话人角色不存在
|
| 352 |
- **问题**: 指定的说话人不在支持列表中。
|
| 353 |
- **解决方案**: 使用 `python src/VoiceDialogue/main.py --help` 查看所有可用的说话人角色。
|
| 354 |
|
| 355 |
+
### 6. FFmpeg 相关错误
|
| 356 |
+
- **问题**: 音频处理失败或编解码错误。
|
| 357 |
+
- **解决方案**: 确保正确安装 FFmpeg:
|
| 358 |
+
```bash
|
| 359 |
+
# 检查 FFmpeg 安装
|
| 360 |
+
ffmpeg -version
|
| 361 |
+
|
| 362 |
+
# 重新安装 FFmpeg
|
| 363 |
+
# macOS
|
| 364 |
+
brew reinstall ffmpeg
|
| 365 |
+
|
| 366 |
+
```
|
| 367 |
+
|
| 368 |
+
### 7. Python 版本兼容性
|
| 369 |
+
- **问题**: Python 版本过低导致的兼容性问题。
|
| 370 |
+
- **解决方案**: 确保使用 Python 3.11+ 版本:
|
| 371 |
+
```bash
|
| 372 |
+
python --version
|
| 373 |
+
# 如果版本过低,请升级或使用虚拟环境
|
| 374 |
+
```
|
| 375 |
+
|
| 376 |
+
## 📊 性能优化建议
|
| 377 |
+
|
| 378 |
+
### 硬件优化
|
| 379 |
+
- **内存**: 推荐 32GB RAM 以获得最佳性能
|
| 380 |
+
- **存储**: 使用 SSD 硬盘可显著提升模型加载速度
|
| 381 |
+
- **CPU**: 多核处理器有助于多线程处理
|
| 382 |
+
|
| 383 |
+
### 软件优化
|
| 384 |
+
- **模型选择**: 根据硬件配置选择合适大小的模型
|
| 385 |
+
- **批处理优化**: 调整 LLM 的 `n_batch` 参数
|
| 386 |
+
- **音频缓冲**: 根据延迟要求调整音频缓冲区大小
|
| 387 |
+
|
| 388 |
## 📄 许可证
|
| 389 |
|
| 390 |
本项目采用 MIT 许可证开源。
|