[异步播报打断]:完成播放中麦克风监听和音色隔离,包含后台监听、助手回放抑制和用户音色打断测试
This commit is contained in:
+20
@@ -170,6 +170,21 @@ The live runtime SHALL support a first-version barge-in path that can stop assis
|
||||
- **WHEN** TTS playback starts and microphone input appears before `OWNER_BARGE_IN_ECHO_GUARD_MS`
|
||||
- **THEN** the runtime SHALL NOT treat that input as a user barge-in
|
||||
|
||||
#### Scenario: Playback is monitored asynchronously
|
||||
- **WHEN** an interruptible assistant reply is playing
|
||||
- **THEN** the runtime SHALL listen to microphone frames from a background monitor rather than waiting for playback chunks to invoke microphone processing
|
||||
- **AND** the playback transport SHALL stop remaining chunks when the monitor raises the shared stop signal
|
||||
|
||||
#### Scenario: Assistant playback voice is rejected
|
||||
- **WHEN** microphone input during playback matches the current assistant playback timbre profile
|
||||
- **THEN** the runtime SHALL NOT emit `barge_in_detected`
|
||||
- **AND** it SHALL NOT display realtime transcript text for that assistant playback echo
|
||||
|
||||
#### Scenario: User voice interrupts playback
|
||||
- **WHEN** microphone input after the echo guard matches the temporary process-local user timbre profile, does not match the assistant playback profile, passes VAD, and produces a valid realtime partial
|
||||
- **THEN** the runtime SHALL emit `barge_in_detected`
|
||||
- **AND** it SHALL stop playback promptly and process the buffered user frames as the next no-wake input
|
||||
|
||||
#### Scenario: Valid user speech interrupts playback
|
||||
- **WHEN** TTS playback has passed the echo guard, VAD observes at least `OWNER_BARGE_IN_MIN_SPEECH_MS` of user speech, and realtime STT produces a valid partial transcript
|
||||
- **THEN** the runtime SHALL emit `barge_in_detected`
|
||||
@@ -181,6 +196,11 @@ The live runtime SHALL support a first-version barge-in path that can stop assis
|
||||
- **THEN** the process-local conversation context SHALL append only the assistant text that had been fully spoken before interruption
|
||||
- **AND** unspoken assistant text SHALL NOT be appended to the session history
|
||||
|
||||
#### Scenario: Barge-in speaker profiles are temporary
|
||||
- **WHEN** the runtime builds user or assistant timbre profiles for interruption gating
|
||||
- **THEN** those profiles SHALL remain in process memory only
|
||||
- **AND** they SHALL NOT be written to disk, sent to the cloud LLM, or reused after process exit
|
||||
|
||||
### Requirement: Real provider live fixture acceptance
|
||||
The system SHALL support scripted full-chain acceptance that drives the live pipeline with generated microphone PCM while using real local speech providers, the configured cloud LLM, and local TTS/playback capability.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user