Ai_GirlFriend/ASR测试指南.md

190 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

2026-03-05 13:34:40 +08:00
# ASR 语音识别测试指南
## 🎯 当前状态
### ✅ 已完成的修复
1. **前端修复**
- 修复了 `onStop` 回调中的文件处理逻辑
- 添加了 `sendAudioToASR` 方法通过 HTTP POST 发送音频
- 移除了冲突的 WebSocket 备用方案
- 改用 WAV 格式录音(兼容性最好)
2. **后端修复**
- 添加了新的 `/voice/call/asr` 端点处理 JSON 格式音频
- 修复了环境变量加载问题
- 改进了错误处理
- 后端运行在端口 30102
3. **配置更新**
- 前端 `baseURLPy` 更新为 `http://192.168.1.141:30102`
- 录音格式改为 WAV16kHz, 单声道)
## 📱 测试步骤
### 1. 确保后端运行
```bash
cd lover
python main_simple.py
```
应该看到:
```
INFO: Uvicorn running on http://0.0.0.0:30102
```
### 2. 测试后端 ASR 端点
```bash
python test_asr_fix.py
```
应该看到:
```
✅ ASR 请求成功
🎉 ASR 修复测试成功!
```
### 3. 在前端测试录音
1. 打开 uni-app 应用
2. 进入语音通话页面
3. 按住"按住说话"按钮
4. 说话 2-3 秒
5. 松开按钮
### 4. 查看日志
**前端控制台应该显示**
```
📁 开始处理录音文件
✅ 文件读取成功开始发送到ASR
📤 发送ASR请求...
✅ ASR响应: ...
```
**后端日志应该显示**
```
INFO - 收到 JSON ASR 请求,格式: wav
INFO - 解码音频数据成功,大小: XXX 字节
INFO - 上传 WAV 文件到 OSS...
INFO - 调用 DashScope ASR...
INFO - ASR 任务已创建: ...
INFO - ASR 识别成功
```
## 🔍 常见问题排查
### 问题 1音频格式解码失败
**症状**
```
音频格式解码失败,请检查录音设置
```
**解决方案**
- 确认前端使用 WAV 格式录音
- 检查录音参数16kHz, 单声道
- 查看后端日志确认音频数据大小
### 问题 2未识别到语音内容
**症状**
```
音频中未检测到有效语音
```
**原因**
- 录音时间太短(< 1秒
- 环境噪音太大
- 说话声音太小
**解决方案**
- 录音时间保持在 2-5 秒
- 在安静环境测试
- 靠近麦克风说话
### 问题 3WebSocket 连接问题
**症状**
```
Expected URL scheme 'http' or 'https' but was 'file'
```
**原因**
- 旧的 WebSocket 流程仍在运行
- 前端代码没有更新
**解决方案**
- 确认前端已移除 WebSocket 备用方案
- 重新编译前端应用
- 清除应用缓存
### 问题 4后端连接失败
**症状**
```
由于目标计算机积极拒绝,无法连接
```
**解决方案**
- 确认后端正在运行:`netstat -an | findstr :30102`
- 检查防火墙设置
- 确认前端配置的端口正确30102
## 📝 预期结果
### 成功的录音识别流程
1. **用户操作**
- 按住说话按钮
- 说话 2-3 秒:"你好,今天天气怎么样"
- 松开按钮
2. **前端处理**
- 录音停止
- 读取 WAV 文件
- 转换为 base64
- 发送到 `/voice/call/asr`
3. **后端处理**
- 接收 base64 音频数据
- 解码为二进制
- 上传到 OSS
- 调用 DashScope ASR
- 返回识别结果
4. **用户看到**
- Toast 提示:"识别: 你好,今天天气怎么样"
## 🚀 下一步优化
1. **添加语音对话功能**
- 将识别结果发送给 LLM
- 生成回复
- 使用 TTS 播放回复
2. **优化用户体验**
- 添加录音动画
- 显示识别进度
- 支持重新录音
3. **错误处理**
- 网络错误重试
- 超时处理
- 友好的错误提示
## 📞 技术支持
如果遇到问题,请提供:
1. 前端控制台完整日志
2. 后端服务器日志
3. 录音文件大小和时长
4. 网络环境信息
---
**最后更新**: 2026-03-04
**版本**: v1.0