thread simplification + handling interuption

This commit is contained in:
sathwika
2026-04-10 17:18:22 +05:30
parent 8abda808ca
commit 746fadc2b5
3 changed files with 204 additions and 113 deletions

View File

@@ -1,5 +1,8 @@
- Updated NvidiaTTSService:
- Made `api_key` optional for local NIM deployments
- Fixed `_update_settings` to correctly indicate that runtime settings updates (voice, language, quality) take effect on the next turn
- Replaced per-sentence synchronous `synthesize_online` calls with async queue-backed gRPC streaming
- Renamed Riva references to Nemotron Speech
- Updated `NvidiaTTSService`:
- Made `api_key` optional for local NIM deployments.
- Voice, language, and quality can be updated without reconnecting the gRPC client; new values take effect on the next synthesis turn, not for the current turn's in-flight requests.
- Replaced per-sentence synchronous `synthesize_online` calls with async queue-backed gRPC streaming.
- Streaming now uses asyncio tasks with explicit gRPC cancellation on interruption and stale-response filtering when a stream is aborted or replaced.
- Renamed Riva references to Nemotron Speech in docs and messages.
- Disabled automatic TTS start frames at the service level (`push_start_frame=False`) and emit `TTSStartedFrame` when a stitched synthesis stream is started for a context.