# 模型设置界面更新说明

## 🎯 更新概述

本次更新对QSmartAssistant的模型设置界面进行了重大改进，主要包括：
1. 将ASR设置分离为离线ASR和在线ASR两个独立标签页
2. 移除了VITS中英文混合模型选项
3. 移除了识别后自动播放语音功能

## 🔄 主要变更

### 1. ASR设置分离

**之前**：单一的"语音识别(ASR)"标签页
**现在**：分为两个独立标签页

#### 离线语音识别标签页
- **用途**：配置用于文件识别的离线模型
- **预设模型**：
  - Paraformer中文模型
  - Whisper多语言模型
  - 自定义模型
- **配置项**：
  - 模型文件(.onnx)
  - 词汇表文件(tokens.txt)

#### 在线语音识别标签页
- **用途**：配置用于实时麦克风识别的在线模型
- **预设模型**：
  - Streaming Paraformer中英文模型
  - Streaming Zipformer中英文模型
  - 自定义模型
- **配置项**：
  - 编码器文件(encoder.onnx)
  - 词汇表文件(tokens.txt)

### 2. TTS模型选项简化

**移除的选项**：
- ❌ VITS中英文混合模型

**保留的选项**：
- ✅ MeloTTS中英文混合模型
- ✅ VITS中文模型
- ✅ 自定义模型

**原因**：简化用户选择，专注于稳定可靠的模型选项。

### 3. 移除自动播放功能

**移除的功能**：
- ❌ "识别后自动播放语音"复选框
- ❌ 自动合成和播放识别结果的功能
- ❌ synthesizeAndPlayText方法

**原因**：
- 简化用户界面
- 减少不必要的功能复杂性
- 用户可以手动选择是否播放合成的语音

## 🏗️ 技术实现

### 代码结构变更

#### ModelSettingsDialog.h
```cpp
// 新增方法
ModelConfig getCurrentOfflineASRConfig() const;
ModelConfig getCurrentOnlineASRConfig() const;
void setCurrentOfflineASRConfig(const ModelConfig& config);
void setCurrentOnlineASRConfig(const ModelConfig& config);

// 新增UI组件
QWidget* offlineAsrTab;
QWidget* onlineAsrTab;
// ... 相关控件
```

#### ModelSettingsDialog.cpp
- 新增 `setupOfflineASRTab()` 方法
- 新增 `setupOnlineASRTab()` 方法
- 更新配置保存和加载逻辑
- 分离离线和在线ASR的验证逻辑

#### SpeechTestMainWindow.h/cpp
- 移除 `autoPlayCheckBox` 控件
- 移除 `synthesizeAndPlayText()` 方法
- 更新模型设置对话框调用

### 配置存储结构

**新的配置分组**：
```ini
[OfflineASR]
modelPath=...
tokensPath=...
modelType=...

[OnlineASR]
modelPath=...
tokensPath=...
modelType=...

[TTS]
modelPath=...
tokensPath=...
lexiconPath=...
dictDirPath=...
dataDirPath=...
modelType=...
```

## 🎨 用户体验改进

### 更清晰的功能分离
- 用户可以明确区分离线和在线识别的配置
- 每个标签页专注于特定的使用场景
- 减少配置混淆的可能性

### 简化的界面
- 移除了不常用的自动播放功能
- 减少了TTS模型选项的复杂性
- 更专注的功能设计

### 更好的可扩展性
- 分离的ASR配置为未来添加更多模型类型提供了基础
- 清晰的代码结构便于维护和扩展

## 📋 使用指南

### 配置离线ASR
1. 打开"设置" → "模型设置"
2. 切换到"离线语音识别"标签页
3. 选择预设模型或自定义配置
4. 指定模型文件和词汇表文件路径

### 配置在线ASR
1. 切换到"在线语音识别"标签页
2. 选择适合实时识别的流式模型
3. 配置编码器文件和词汇表文件

### 配置TTS
1. 切换到"语音合成(TTS)"标签页
2. 选择MeloTTS中英文混合或VITS中文模型
3. 配置所需的模型文件和辅助文件

## 🔮 未来规划

### 短期计划
- 实现模型测试功能
- 添加模型自动扫描功能
- 优化模型加载性能

### 长期规划
- 支持更多ASR和TTS模型
- 添加模型性能监控
- 实现云端模型支持

## ✅ 兼容性说明

### 向后兼容
- 现有的配置文件会自动迁移到新的结构
- 旧的ASR配置会同时应用到离线和在线ASR
- 不影响现有的录音和识别功能

### 升级建议
- 建议用户重新配置离线和在线ASR模型
- 检查TTS模型配置是否正确
- 测试各项功能确保正常工作

这次更新使QSmartAssistant的模型配置更加专业和用户友好，为后续功能扩展奠定了良好的基础。