[文档与验收]:完成本地唤醒运行说明和自动门禁,包含README、模型验收和任务状态

This commit is contained in:
mkbk
2026-06-17 20:39:42 +08:00
parent 4b21e0c346
commit 860c2909fc
2 changed files with 13 additions and 6 deletions
+10 -3
View File
@@ -9,6 +9,7 @@
- `owner_voice_pet run-live`:真实常驻语音循环。
- `owner_voice_pet run-live --once`:只跑一轮,便于验收。
- `.env` 直接读取配置,不要求导出 shell 环境变量。
- 唤醒词检测使用本地 `sherpa-onnx` KWS 模型,不走云端 ASR。
- `OWNER_SPEECH_PROVIDER=cloud|local`:选择云端语音模型或本地语音模型。
- 默认云端语音模型:`mimo-v2.5-asr``mimo-v2.5-tts`
- 本地设备:`sounddevice` 读取麦克风,扬声器或 `afplay` 播放。
@@ -31,17 +32,21 @@ OWNER_LLM_BASE_URL=https://token-plan-cn.xiaomimimo.com/v1
OWNER_LLM_API_KEY=
OWNER_LLM_MODEL=mimo-v2.5
OWNER_LLM_API_STYLE=chat_completions
OWNER_WAKE_PROVIDER=local_kws
OWNER_WAKE_KEYWORDS_FILE=
OWNER_WAKE_KWS_THRESHOLD=0.25
OWNER_WAKE_KWS_SCORE=1.0
OWNER_SPEECH_PROVIDER=cloud
OWNER_ASR_MODEL=mimo-v2.5-asr
OWNER_TTS_MODEL=mimo-v2.5-tts
OWNER_TTS_VOICE=mimo_default
```
`OWNER_SPEECH_PROVIDER=cloud` 会把 VAD 切出来的语音片段发送到云端 ASR不会上传连续麦克风流。改成 `local` 时使用项目 `models/` 下的本地语音模型路径。
`OWNER_WAKE_PROVIDER=local_kws` 表示唤醒词“小杰小杰”由本地模型检测。`OWNER_SPEECH_PROVIDER=cloud` 只影响唤醒后的正式问题 ASR/TTS:它会把 VAD 切出来的用户问题片段发送到云端 ASR不会上传连续麦克风流,也不会用云端判断唤醒。改成 `local` 时使用项目 `models/` 下的本地语音模型路径。
## 本地模型
即使默认走云端语音,也可以准备本地模型,便于切换到 `OWNER_SPEECH_PROVIDER=local`
即使默认走云端 ASR/TTS,也必须准备本地唤醒模型;同一脚本会下载 wake、VAD、STT 模型,便于切换到 `OWNER_SPEECH_PROVIDER=local`
```bash
python3.11 scripts/download_speech_models.py --dir models
@@ -50,6 +55,8 @@ python3.11 scripts/download_speech_models.py --dir models
`models/` 已在 `.gitignore` 中,不会提交大模型文件。
本地唤醒关键词文件位于 `models/wake/keywords.txt`。如果真人唤醒不灵敏,可以先把 `.env``OWNER_WAKE_KWS_THRESHOLD` 调低,例如 `0.15`,再重新运行。
## 设备检查
```bash
@@ -72,7 +79,7 @@ python3.11 scripts/download_speech_models.py --dir models
.venv/bin/python -m owner_voice_pet run-live
```
运行后终端会显示待机、唤醒命中、录音中、转写中、思考中、播放中、恢复待机等状态。说“小杰小杰”提问;听到回复后可以再次说“小杰小杰”继续下一轮。本次进程内会携带临时历史,程序退出后不保存。
运行后终端会显示待机、唤醒命中、录音中、转写中、转写结果、思考中、播放中、恢复待机等状态。说“小杰小杰”等待唤醒命中后再提问;听到回复后可以再次说“小杰小杰”继续下一轮。本次进程内会携带临时历史,程序退出后不保存。
## 验证