[唤醒应答与快速端点]:完成唤醒后我在播报和本地VAD端点优化,包含缓冲清理、配置项和测试覆盖
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
- `OWNER_SPEECH_PROVIDER=cloud|local`:选择云端语音模型或本地语音模型。
|
||||
- 默认云端语音模型:`mimo-v2.5-asr`、`mimo-v2.5-tts`。
|
||||
- 本地设备:`sounddevice` 读取麦克风,扬声器或 `afplay` 播放。
|
||||
- 本地模型:`models/` 存放 `sherpa-onnx` VAD/STT 模型,目录不提交 Git。
|
||||
- 本地模型:`models/` 存放 `sherpa-onnx` wake/VAD/STT 模型,目录不提交 Git。
|
||||
- 临时上下文:同一次 `run-live` 进程内携带最近 user/assistant 历史,退出即清空。
|
||||
|
||||
## 首次准备
|
||||
@@ -36,13 +36,21 @@ OWNER_WAKE_PROVIDER=local_kws
|
||||
OWNER_WAKE_KEYWORDS_FILE=
|
||||
OWNER_WAKE_KWS_THRESHOLD=0.25
|
||||
OWNER_WAKE_KWS_SCORE=1.0
|
||||
OWNER_WAKE_ACK_TEXT=我在
|
||||
OWNER_POST_PLAYBACK_DRAIN_MS=250
|
||||
OWNER_VAD_PROVIDER=local
|
||||
OWNER_VAD_THRESHOLD=0.5
|
||||
OWNER_VAD_MIN_DURATION_MS=250
|
||||
OWNER_VAD_END_SILENCE_MS=350
|
||||
OWNER_VAD_NO_SPEECH_TIMEOUT_MS=5000
|
||||
OWNER_VAD_MAX_RECORDING_MS=12000
|
||||
OWNER_SPEECH_PROVIDER=cloud
|
||||
OWNER_ASR_MODEL=mimo-v2.5-asr
|
||||
OWNER_TTS_MODEL=mimo-v2.5-tts
|
||||
OWNER_TTS_VOICE=mimo_default
|
||||
```
|
||||
|
||||
`OWNER_WAKE_PROVIDER=local_kws` 表示唤醒词“小杰小杰”由本地模型检测。`OWNER_SPEECH_PROVIDER=cloud` 只影响唤醒后的正式问题 ASR/TTS:它会把 VAD 切出来的用户问题片段发送到云端 ASR,不会上传连续麦克风流,也不会用云端判断唤醒。改成 `local` 时使用项目 `models/` 下的本地语音模型路径。
|
||||
`OWNER_WAKE_PROVIDER=local_kws` 表示唤醒词“小杰小杰”由本地模型检测。唤醒命中后会先本地播报 `OWNER_WAKE_ACK_TEXT=我在`,再开始听取问题。`OWNER_SPEECH_PROVIDER=cloud` 只影响唤醒后的正式问题 ASR/TTS:它会把 VAD 切出来的用户问题片段发送到云端 ASR,不会上传连续麦克风流,也不会用云端判断唤醒。改成 `local` 时使用项目 `models/` 下的本地语音模型路径。
|
||||
|
||||
## 本地模型
|
||||
|
||||
@@ -57,6 +65,8 @@ python3.11 scripts/download_speech_models.py --dir models
|
||||
|
||||
本地唤醒关键词文件位于 `models/wake/keywords.txt`。如果真人唤醒不灵敏,可以先把 `.env` 中 `OWNER_WAKE_KWS_THRESHOLD` 调低,例如 `0.15`,再重新运行。
|
||||
|
||||
如果唤醒后你已经停说但还长时间显示“录音中”,优先调小 `OWNER_VAD_END_SILENCE_MS`,例如 `250`;如果房间噪声较大,再略调高 `OWNER_VAD_THRESHOLD`,例如 `0.6`。
|
||||
|
||||
## 设备检查
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user