liumaolin commited on
Commit
a5d5551
·
1 Parent(s): 3cbe74d

Update README file.

Browse files
Files changed (1) hide show
  1. README.md +61 -7
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 和指定版本的 numpy
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
- - 英文角色:`Heart`, `Bella`, `Nicole`
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 许可证开源。