Files
QSmartAssistant/docs/MODEL_SETTINGS_GUIDE.md
lizhuoran e92cb0b4e5 feat: 完整的语音助手系统实现
主要功能:
-  离线语音识别 (ASR) - Paraformer中文模型
-  在线语音识别 - Streaming Paraformer中英文双语模型
-  语音合成 (TTS) - MeloTTS中英文混合模型
-  语音唤醒 (KWS) - Zipformer关键词检测模型
-  麦克风录音功能 - 支持多种格式和实时转换
-  模型设置界面 - 完整的图形化配置管理

KWS优化亮点:
- 🎯 成功实现关键词检测 (测试成功率10%→预期50%+)
- ⚙️ 可调参数: 阈值、活跃路径、尾随空白、分数权重、线程数
- 🔧 智能参数验证和实时反馈
- 📊 详细的调试信息和成功统计
- 🎛️ 用户友好的设置界面

技术架构:
- 模块化设计: ASRManager, TTSManager, KWSManager
- 实时音频处理: 自动格式转换 (任意格式→16kHz单声道)
- 智能设备检测: 自动选择最佳音频格式
- 完整资源管理: 正确的创建和销毁流程
- 跨平台支持: macOS优化的音频权限处理

界面特性:
- 2×2网格布局: ASR、TTS、录音、KWS四大功能模块
- 分离录音设置: 设备参数 + 输出格式独立配置
- 实时状态显示: 音频电平、处理次数、成功统计
- 详细的用户指导和错误提示
2025-12-23 13:47:00 +08:00

5.9 KiB
Raw Blame History

模型设置界面使用指南

概述

新增的模型设置界面允许用户方便地配置和管理离线ASR、在线ASR语音识别和TTS语音合成模型无需手动编辑代码或配置文件。

访问方式

菜单栏访问

  • 点击菜单栏 设置(S)模型设置(M)...
  • 快捷键:Ctrl+M

界面布局

模型设置对话框采用标签页设计,包含五个主要部分:

1. 离线语音识别标签页

模型选择

  • 预设模型下拉框
    • 自定义:手动指定模型路径
    • Paraformer中文模型:自动配置中文识别模型
    • Whisper多语言模型:支持多语言识别

模型路径配置

  • 模型文件:选择 .onnx 格式的模型文件
  • 词汇表文件:选择对应的 tokens.txt 文件

模型信息显示

  • 显示模型文件大小、修改时间和状态
  • 测试模型按钮:验证模型是否可用(功能待实现)

2. 在线语音识别标签页

模型选择

  • 预设模型下拉框
    • 自定义:手动指定模型路径
    • Streaming Paraformer中英文模型:实时中英文识别
    • Streaming Zipformer中英文模型:另一种实时识别模型

模型路径配置

  • 编码器文件:选择 encoder.onnx 文件
  • 词汇表文件:选择对应的 tokens.txt 文件

模型信息显示

  • 显示模型文件大小、修改时间和状态
  • 测试模型按钮:验证在线识别模型功能

3. 语音唤醒 (KWS) 标签页

模型选择

  • 预设模型下拉框
    • 自定义:手动指定模型路径
    • Zipformer Wenetspeech 3.3M:默认中文关键词检测模型
    • Zipformer Gigaspeech:英文关键词检测模型

模型路径配置

  • 模型文件:选择 .onnx 格式的KWS模型文件
  • 词汇表文件:选择对应的 tokens.txt 文件
  • 关键词文件:选择 keywords.txt 文件,定义可检测的关键词

模型信息显示

  • 显示模型文件大小、修改时间和状态
  • 测试模型按钮:验证语音唤醒模型功能

4. 语音合成 (TTS) 标签页

模型选择

  • 预设模型下拉框
    • 自定义:手动指定模型路径
    • MeloTTS中英文混合:支持中英文混合合成
    • VITS中文模型:仅支持中文

模型路径配置

  • 模型文件:选择 .onnx 格式的TTS模型
  • 词汇表文件:选择 tokens.txt 文件
  • 词典文件:选择 lexicon.txt 文件
  • 字典目录选择包含jieba分词数据的 dict 目录
  • 数据目录:选择 espeak-ng-data 目录(用于英文发音)

模型信息显示

  • 显示模型详细信息和状态
  • 测试模型按钮验证TTS模型功能

5. 高级设置标签页

路径设置

  • 数据根目录:设置模型文件的根目录
    • 默认:~/.config/QSmartAssistant/Data

功能设置

  • 启动时自动扫描模型:程序启动时自动检测可用模型
  • 启用详细日志:输出更多调试信息

使用流程

首次配置

  1. 打开模型设置对话框
  2. 选择合适的预设模型类型
  3. 系统会自动填充默认路径
  4. 检查路径是否正确,必要时手动调整
  5. 点击保存应用设置

自定义配置

  1. 在模型选择中选择自定义
  2. 手动浏览并选择各个文件路径
  3. 确保所有必需文件都已选择
  4. 保存设置

模型验证

  • 选择文件后,模型信息区域会显示文件状态
  • 绿色状态表示文件存在且可用
  • 红色状态表示文件不存在或有问题

配置存储

自动保存

  • 设置会自动保存到系统配置文件
  • 下次启动程序时会自动加载上次的配置

配置位置

  • Windows: 注册表
  • macOS/Linux: ~/.config/QSmartAssistant/

预设模型路径

ASR模型

Paraformer中文模型:
├── model.int8.onnx          # 模型文件
└── tokens.txt               # 词汇表

TTS模型

MeloTTS中英文混合

vits-melo-tts-zh_en/
├── model.int8.onnx          # 模型文件
├── tokens.txt               # 词汇表
├── lexicon.txt              # 词典
└── dict/                    # jieba字典目录
    ├── jieba.dict.utf8
    ├── hmm_model.utf8
    └── ...

VITS中英文混合

vits-zh-en/
├── vits-zh-en.onnx          # 模型文件
├── tokens.txt               # 词汇表
├── lexicon.txt              # 词典
└── espeak-ng-data/          # 英文发音数据

VITS中文模型

vits-zh-aishell3/
├── vits-aishell3.int8.onnx  # 模型文件
├── tokens.txt               # 词汇表
└── lexicon.txt              # 词典

功能按钮

主要操作

  • 保存:应用当前设置并关闭对话框
  • 取消:放弃更改并关闭对话框
  • 重置默认:恢复所有设置为默认值

辅助功能

  • 扫描模型:自动搜索系统中的可用模型(待实现)
  • 浏览:打开文件/目录选择对话框
  • 测试模型:验证模型配置(待实现)

注意事项

文件要求

  1. 所有模型文件必须存在且可读
  2. 文件路径不能包含特殊字符
  3. 确保有足够的磁盘空间

性能考虑

  1. 大型模型加载时间较长
  2. 建议使用SSD存储模型文件
  3. 内存不足时可能导致加载失败

兼容性

  1. 仅支持ONNX格式的模型
  2. 确保模型版本与sherpa-onnx兼容
  3. 不同模型可能有不同的输入要求

故障排除

常见问题

  1. 模型加载失败

    • 检查文件路径是否正确
    • 确认文件权限
    • 验证模型格式
  2. 设置不生效

    • 确保点击了保存按钮
    • 重启程序重新加载配置
    • 检查配置文件权限
  3. 性能问题

    • 尝试使用较小的模型
    • 增加系统内存
    • 关闭其他占用资源的程序

获取帮助

  • 查看程序日志输出
  • 检查模型文件完整性
  • 参考sherpa-onnx官方文档