[唤醒灵敏度与端点恢复]:完成唤醒提示顺序和Hybrid VAD优化,包含阈值默认值、缓冲时序和测试覆盖

This commit is contained in:
mkbk
2026-06-17 21:00:28 +08:00
parent 44f708a3dc
commit 95e4996434
13 changed files with 145 additions and 29 deletions
@@ -27,7 +27,7 @@ run-live
-> AppConfig(.env)
-> SoundDeviceAudioTransport
-> SherpaOnnxKeywordWakeWordProvider(local models/wake)
-> VadRecorder(user utterance)
-> VadRecorder(user utterance, hybrid local+energy VAD by default)
-> CloudAsrSttProvider or SherpaOnnxSttProvider
-> TerminalRuntimeReporter.transcript()
-> ConversationContext
@@ -45,7 +45,7 @@ run-live
5. Open microphone stream.
6. Wait for KWS wake event by feeding frames directly into wake provider.
7. On wake hit, reset wake stream and VAD recorder.
8. Record user utterance with VAD.
8. Record user utterance with VAD. The default provider is `hybrid`: project-local `sherpa-onnx` VAD remains the primary detector, and an energy threshold fallback prevents low microphone gain from being treated as no speech.
9. Transcribe user utterance.
10. Emit transcript to terminal.
11. Append user text and call LLM.
@@ -98,6 +98,7 @@ models/
3. KWS runtime failure: `WAKE_MODEL_LOAD_FAILED` with retryable true.
4. Empty user STT: existing `STT_EMPTY_TRANSCRIPT`.
5. Invalid wake provider config: `CONFIG_MISSING_VALUE`.
6. Real microphone VAD miss: default `OWNER_VAD_PROVIDER=hybrid` SHALL accept speech when either the local model or the energy fallback detects speech.
## Testing Strategy