liumaolin commited on
Commit
2c7b9b6
·
1 Parent(s): 627c3e7

Update README.

Browse files
Files changed (1) hide show
  1. README.md +61 -40
README.md CHANGED
@@ -151,9 +151,7 @@ uv pip install numpy==1.26.4
151
  pip install numpy==1.26.4
152
  ```
153
 
154
- ### 🎮 运行系统
155
-
156
- `VoiceDialogue` 支持两种运行模式:**命令行模式 (CLI)** 和 **API 服务模式**。
157
 
158
  #### 1. 命令行模式 (默认)
159
 
@@ -161,18 +159,14 @@ pip install numpy==1.26.4
161
 
162
  ```bash
163
  # 启动语音对话系统 (默认使用中文,沈逸角色)
164
- uv run main.py
165
- # 或
166
  python main.py
 
 
167
 
168
  # 指定语言和角色
169
- uv run main.py --language en --speaker Heart
170
- # 或
171
  python main.py --language en --speaker Heart
172
 
173
- # 查看所有可用角色
174
- uv run main.py --help
175
- # 或
176
  python main.py --help
177
  ```
178
 
@@ -187,6 +181,8 @@ python main.py --help
187
  ```bash
188
  # 启动 API 服务器
189
  python main.py --mode api
 
 
190
 
191
  # 指定不同端口和启用热重载
192
  python main.py --mode api --port 9000 --reload
@@ -198,6 +194,10 @@ python main.py --mode api --port 9000 --reload
198
  - 实时模型状态监控
199
  - RESTful API 设计
200
 
 
 
 
 
201
  ## ⚙️ 配置选项
202
 
203
  ### 启动参数
@@ -236,6 +236,32 @@ python main.py --mode api --port 9000 --reload
236
  - **文件位置**: `src/VoiceDialogue/services/text/generator.py`
237
  - **自定义**: 你可以修改系统提示词变量的值。
238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  ## 📁 项目结构
240
 
241
  ```text
@@ -244,46 +270,27 @@ VoiceDialogue/
244
  │ └── voice_dialogue/ # 主要源代码目录
245
  │ ├── __init__.py # 包初始化文件
246
  │ ├── cli/ # 命令行界面模块
247
- │ │ ├── __init__.py
248
  │ │ └── args.py # 命令行参数解析
249
  │ ├── api/ # Web API 模块 (FastAPI)
250
- │ │ ├── __init__.py
251
  │ │ ├── app.py # FastAPI 应用实例
252
  │ │ ├── server.py # uvicorn 服务器
253
  │ │ ├── core/ # API 核心配置
254
  │ │ ├── routes/ # API 路由
255
- │ │ │ ├── __init__.py
256
- │ │ │ ├── asr_routes.py # 语音识别路由
257
- │ │ │ ├── tts_routes.py # 文本转语音路由
258
- │ │ │ ├── system_routes.py # 系统管理路由
259
- │ │ │ └── websocket_routes.py # WebSocket 路由
260
  │ │ ├── schemas/ # 数据模型
261
  │ │ ├── dependencies/ # API 依赖项
262
  │ │ └── middleware/ # 中间件
263
  │ ├── config/ # 配置管理
264
- │ │ └── paths.py # 路径配置
 
265
  │ ├── core/ # 核心模块
266
  │ │ ├── constants.py # 全局常量和队列
267
  │ │ └── launcher.py # 系统启动器
268
  │ ├── models/ # 数据模型和任务
269
- │ │ ├── language_model.py # 语言模型定义
270
- │ │ └── voice_task.py # 语音任务定义
271
  │ ├── services/ # 服务模块
272
  │ │ ├── audio/ # 音频处理服务
273
- │ │ │ ├── capture.py # 回声消除音频捕获
274
- │ │ │ ├── player.py # 音频播放
275
- │ │ │ ├── generator.py # TTS 音频生成器
276
- │ │ │ └── generators/ # TTS 引擎管理
277
  │ │ ├── speech/ # 语音识别服务
278
- │ │ │ ├── monitor.py # 语音状态监控
279
- │ │ │ ├── recognizer.py # ASR 识别服务
280
- │ │ │ └── recognizers/ # ASR 引擎管理
281
  │ │ └── text/ # 文本生成服务
282
- │ │ └── generator.py # LLM 文本生成
283
  │ └── utils/ # 工具函数
284
- ├── third_party/ # 第三方库
285
- │ ├── moyoyo_tts/ # GPT-SoVITs TTS 引擎
286
- │ └── AECAudioRecorder/ # 回声消除音频录制器
287
  ├── electron-app/ # Electron 桌面应用
288
  │ ├── main.js # Electron 主进程
289
  │ ├── preload.js # 预加载脚本
@@ -298,17 +305,16 @@ VoiceDialogue/
298
  │ ├── build-python.sh # Python 打包脚本
299
  │ ├── build-electron.sh # Electron 打包脚本
300
  │ └── clean.sh # 清理脚本
301
- ├── tests/ # 测试文件
302
- ├── docs/ # 文档目录
 
 
303
  ├── dist/ # 分发包输出目录
304
  ├── build/ # 构建临时文件
305
- ├── assets/ # 资源文件
306
- ├── models/ # 模型文件存储
307
- ├── audio/ # 音频资源
308
- ├── libraries/ # 库文件
309
- │ └── www/ # Web资源
310
- ├── main.py # 项目启动入口(简化版)
311
- ├── pyproject.toml # 项目配置文件 (uv/pip)
312
  ├── requirements.txt # Python 依赖
313
  ├── uv.lock # uv 锁定文件
314
  ├── .python-version # Python 版本配置
@@ -408,6 +414,21 @@ python --version
408
  # 如果版本过低,请升级或使用虚拟环境
409
  ```
410
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  ## 📊 性能优化建议
412
 
413
  ### 硬件优化
 
151
  pip install numpy==1.26.4
152
  ```
153
 
154
+ ### 🖥️ 应用模式
 
 
155
 
156
  #### 1. 命令行模式 (默认)
157
 
 
159
 
160
  ```bash
161
  # 启动语音对话系统 (默认使用中文,沈逸角色)
 
 
162
  python main.py
163
+ # 或使用 uv
164
+ uv run main.py
165
 
166
  # 指定语言和角色
 
 
167
  python main.py --language en --speaker Heart
168
 
169
+ # 查看所有可用参数
 
 
170
  python main.py --help
171
  ```
172
 
 
181
  ```bash
182
  # 启动 API 服务器
183
  python main.py --mode api
184
+ # 或使用 uv
185
+ uv run main.py --mode api
186
 
187
  # 指定不同端口和启用热重载
188
  python main.py --mode api --port 9000 --reload
 
194
  - 实时模型状态监控
195
  - RESTful API 设计
196
 
197
+ #### 3. 桌面应用模式 (Electron)
198
+ 提供图形界面的桌面应用程序。
199
+
200
+
201
  ## ⚙️ 配置选项
202
 
203
  ### 启动参数
 
236
  - **文件位置**: `src/VoiceDialogue/services/text/generator.py`
237
  - **自定义**: 你可以修改系统提示词变量的值。
238
 
239
+ ### 构建完整应用
240
+ 项目提供了完整的构建脚本,可以一键构建包含Python后端和Electron前端的完整应用:
241
+
242
+ 1. 首先,激活当前 Python 环境
243
+
244
+ ```bash
245
+ source .venv/bin/activate
246
+ # 或使用 conda
247
+ conda activate voicedialogue
248
+ ```
249
+
250
+ 2. 使用构建脚本
251
+
252
+ ```bash
253
+ # 使用构建脚本(推荐)
254
+ bash scripts/build.sh
255
+
256
+ # 或分别构建
257
+ bash scripts/build-python.sh # 构建Python后端
258
+ bash scripts/build-electron.sh # 构建Electron前端
259
+
260
+ # 清理构建产物
261
+ bash scripts/clean.sh
262
+ ```
263
+
264
+
265
  ## 📁 项目结构
266
 
267
  ```text
 
270
  │ └── voice_dialogue/ # 主要源代码目录
271
  │ ├── __init__.py # 包初始化文件
272
  │ ├── cli/ # 命令行界面模块
 
273
  │ │ └── args.py # 命令行参数解析
274
  │ ├── api/ # Web API 模块 (FastAPI)
 
275
  │ │ ├── app.py # FastAPI 应用实例
276
  │ │ ├── server.py # uvicorn 服务器
277
  │ │ ├── core/ # API 核心配置
278
  │ │ ├── routes/ # API 路由
 
 
 
 
 
279
  │ │ ├── schemas/ # 数据模型
280
  │ │ ├── dependencies/ # API 依赖项
281
  │ │ └── middleware/ # 中间件
282
  │ ├── config/ # 配置管理
283
+ │ │ ├── paths.py # 路径配置
284
+ │ │ └── speaker_config.py # 说话人配置
285
  │ ├── core/ # 核心模块
286
  │ │ ├── constants.py # 全局常量和队列
287
  │ │ └── launcher.py # 系统启动器
288
  │ ├── models/ # 数据模型和任务
 
 
289
  │ ├── services/ # 服务模块
290
  │ │ ├── audio/ # 音频处理服务
 
 
 
 
291
  │ │ ├── speech/ # 语音识别服务
 
 
 
292
  │ │ └── text/ # 文本生成服务
 
293
  │ └── utils/ # 工具函数
 
 
 
294
  ├── electron-app/ # Electron 桌面应用
295
  │ ├── main.js # Electron 主进程
296
  │ ├── preload.js # 预加载脚本
 
305
  │ ├── build-python.sh # Python 打包脚本
306
  │ ├── build-electron.sh # Electron 打包脚本
307
  │ └── clean.sh # 清理脚本
308
+ ├── third_party/ # 第三方库
309
+ ├── moyoyo_tts/ # GPT-SoVITs TTS 引擎
310
+ │ └── AECAudioRecorder/ # 回声消除音频录制器
311
+ ├── assets/ # 资源文件
312
  ├── dist/ # 分发包输出目录
313
  ├── build/ # 构建临时文件
314
+ ├── tests/ # 测试文件
315
+ ├── docs/ # 文档目录
316
+ ├── main.py # 项目启动入口
317
+ ├── pyproject.toml # 项目配置文件 (uv)
 
 
 
318
  ├── requirements.txt # Python 依赖
319
  ├── uv.lock # uv 锁定文件
320
  ├── .python-version # Python 版本配置
 
414
  # 如果版本过低,请升级或使用虚拟环境
415
  ```
416
 
417
+ ### 8. 桌面应用相关问题
418
+ - **问题**: Electron 应用启动失败或功能异常。
419
+ - **解决方案**:
420
+ - 确保 Node.js 版本 >= 16
421
+ - 重新安装依赖:`cd electron-app && npm install`
422
+ - 检查 Python 后端是否正常运行
423
+
424
+ ### 9. 构建打包问题
425
+ - **问题**: 使用构建脚本失败。
426
+ - **解决方案**:
427
+ - 确保有执行权限:`chmod +x scripts/*.sh`
428
+ - 检查所有依赖是否安装完成
429
+ - 查看具体错误日志进行调试
430
+
431
+
432
  ## 📊 性能优化建议
433
 
434
  ### 硬件优化