TEST_GUIDE.md 4.9 KB

电脑模拟版测试指南

0 成本测试完整流程

按以下 5 步操作,可在 5-10 分钟内验证整个智能音箱流程。

Step 1: 启动后端服务

cd c:/Users/caoyg/ai/audio-tts/audio_codebuddy/server
npm run dev

等待看到类似输出

Server running on port 3000
TTS Provider initialized

如果启动失败

  • 检查端口 3000 是否被占用
  • 检查 .env 配置(数据库、TTS API Key 等)

Step 2: 测试同步端点(新加的)

打开新终端:

curl -X POST http://localhost:3000/tts/synthesize \
  -H "Content-Type: application/json" \
  -d '{"text":"你好世界测试","voiceId":"female-shaonv"}'

成功响应

{
  "code": 0,
  "message": "success",
  "data": {
    "audioUrl": "https://xxx.cloud/audio.mp3",
    "audioId": "sync-uuid",
    "duration": 2.5,
    "text": "你好世界测试",
    "voiceId": "female-shaonv"
  }
}

失败排查

  • 返回 404 → 服务没重启,新代码没生效
  • 返回 500 → 查看 server 日志
  • 返回 timeout → TTS provider 配置问题

Step 3: 安装 Python 依赖

cd c:/Users/caoyg/ai/audio-tts/audio_codebuddy/hardware-integration/pc-simulator
pip install -r requirements.txt

可能需要的系统依赖

macOS:

brew install portaudio

Linux:

sudo apt install python3-pyaudio portaudio19-dev

Windows:

pip install pipwin
pipwin install pyaudio

Step 4: 配置环境变量

cp .env.example .env

编辑 .env至少配置以下 3 项

TTS_BASE_URL=http://localhost:3000
TTS_VOICE_ID=female-shaonv

OPENAI_API_KEY=sk-your-key      # ASR 需要
LLM_API_KEY=sk-your-key         # LLM 需要

最小配置(只测试 TTS)

TTS_BASE_URL=http://localhost:3000

ASR/LLM 可选,没配置也能跑部分测试。

Step 5: 运行冒烟测试

python test_smoke.py

预期输出

============================================================
  智能音箱电脑模拟版 - 冒烟测试
============================================================

============================================================
  测试 1: 配置验证
============================================================
✅ 配置 OK
  TTS: http://localhost:3000
  ...

============================================================
  测试 2: TTS 服务连通
============================================================
✅ TTS 服务可达,N 个音色

============================================================
  测试 3: 同步合成端点 (/tts/synthesize)
============================================================
✅ 同步合成成功 (0.85s)
  音频 URL: https://...

============================================================
  测试 4: 音频下载
============================================================
✅ 下载成功 (35.2 KB)

🎉 所有测试通过!可以运行 python main.py 体验完整流程

Step 6: 运行完整流程

python main.py

操作流程

  1. 按回车 → 开始录音
  2. 说话(任何内容)
  3. 自动停止(检测到停顿)
  4. 看到 ASR 识别结果
  5. 看到 LLM 回复
  6. 听到 TTS 播放

常见错误排查

ModuleNotFoundError: No module named 'pyaudio'

# macOS
brew install portaudio && pip install pyaudio

# Linux
sudo apt install python3-pyaudio

# Windows
pip install pipwin && pipwin install pyaudio

Connection refused (TTS 服务连不上)

# 检查后端服务是否在跑
curl http://localhost:3000/health

# 检查端口
lsof -i :3000  # macOS/Linux
netstat -ano | findstr :3000  # Windows

❌ 同步端点返回 404

# 检查路由是否注册
grep -n "router.post.*synthesize" c:/Users/caoyg/ai/audio-tts/audio_codebuddy/server/src/modules/tts/tts.controller.ts

应该能看到:

router.post('/synthesize', optionalAuth, async (ctx: Context) => {

❌ TTS provider 失败

查看 server 日志,常见原因:

  • API Key 无效
  • 余额不足
  • 网络不可达
  • 音色 ID 不存在

❌ 麦克风没声音

  • macOS: 系统设置 → 隐私 → 麦克风 → 允许 Python
  • Windows: 设置 → 隐私 → 麦克风 → 允许应用
  • Linux: arecord -l 检查设备

测试清单

[ ] Step 1: 后端服务启动
[ ] Step 2: curl 测试同步端点成功
[ ] Step 3: pip install 成功
[ ] Step 4: .env 配置完成
[ ] Step 5: test_smoke.py 全部通过
[ ] Step 6: main.py 端到端跑通

时间预估

Step 1: 1-2 分钟(如果服务能起来)
Step 2: 30 秒
Step 3: 1-2 分钟(含编译 pyaudio)
Step 4: 2 分钟
Step 5: 30 秒
Step 6: 1 分钟
─────────────────
总计: 5-10 分钟

下一步

跑通后:

  1. 🎬 录 3 分钟演示视频
  2. 📦 决定是否买树莓派(演示给客户)
  3. 📞 联系硬件厂商(找客户)