[真实流程命令]:完成完整链路自测入口,包含真实Provider CLI、播放验收和文档测试
This commit is contained in:
@@ -243,7 +243,8 @@ The transport is bounded: if frames are exhausted unexpectedly, it raises a stru
|
||||
The simulated microphone command validates pipeline ordering with fake providers, but it does not prove that real local models and real playback can run together. The next acceptance layer uses generated 16 kHz PCM utterances as microphone input while keeping the provider chain real:
|
||||
|
||||
```text
|
||||
generated wake/question PCM
|
||||
owner_voice_pet real-live-check
|
||||
-> generated wake/question PCM via macOS say + afconvert
|
||||
-> MemoryAudioTransport(flush preserves prefilled fixture frames)
|
||||
-> SherpaOnnxKeywordWakeWordProvider(real KWS)
|
||||
-> HybridVadProvider(real sherpa VAD + energy fallback)
|
||||
@@ -255,6 +256,8 @@ generated wake/question PCM
|
||||
-> SoundDeviceAudioTransport.play_pcm(real speaker smoke)
|
||||
```
|
||||
|
||||
The CLI defaults to two generated turns: “我叫阿明,请你记住我的名字。” followed by “我叫什么名字?”. A recording wrapper around the real LLM provider stores the messages sent to each LLM call, so the command can verify that the second request contains first-turn process-local user/assistant history without exposing the API key. `--question` can override the generated prompts, `--voice` controls the macOS `say` voice, and `--no-playback` keeps TTS synthesis and playback events while skipping speaker output for quiet automated runs.
|
||||
|
||||
Playback drain semantics are intentionally split by transport type:
|
||||
|
||||
1. `SoundDeviceAudioTransport.flush_input()` clears the realtime callback queue that accumulated during ACK/TTS playback.
|
||||
|
||||
Reference in New Issue
Block a user