Spaces:
Building
Building
Update websocket_manager.py
Browse files- websocket_manager.py +11 -0
websocket_manager.py
CHANGED
@@ -85,6 +85,7 @@ class WebSocketManager:
|
|
85 |
self.event_bus.subscribe(EventType.STT_RESULT, self._handle_stt_result)
|
86 |
|
87 |
# TTS events
|
|
|
88 |
self.event_bus.subscribe(EventType.TTS_CHUNK_READY, self._handle_tts_chunk)
|
89 |
self.event_bus.subscribe(EventType.TTS_COMPLETED, self._handle_tts_completed)
|
90 |
|
@@ -401,6 +402,16 @@ class WebSocketManager:
|
|
401 |
"is_final": event.data.get("is_final", False),
|
402 |
"confidence": event.data.get("confidence", 0.0)
|
403 |
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
|
405 |
async def _handle_tts_chunk(self, event: Event):
|
406 |
"""Send TTS audio chunk to client"""
|
|
|
85 |
self.event_bus.subscribe(EventType.STT_RESULT, self._handle_stt_result)
|
86 |
|
87 |
# TTS events
|
88 |
+
self.event_bus.subscribe(EventType.TTS_STARTED, self._handle_tts_started)
|
89 |
self.event_bus.subscribe(EventType.TTS_CHUNK_READY, self._handle_tts_chunk)
|
90 |
self.event_bus.subscribe(EventType.TTS_COMPLETED, self._handle_tts_completed)
|
91 |
|
|
|
402 |
"is_final": event.data.get("is_final", False),
|
403 |
"confidence": event.data.get("confidence", 0.0)
|
404 |
})
|
405 |
+
|
406 |
+
async def _handle_tts_started(self, event: Event):
|
407 |
+
"""Send assistant message when TTS starts"""
|
408 |
+
if event.data.get("is_welcome"):
|
409 |
+
# Send welcome message to client
|
410 |
+
await self.send_message(event.session_id, {
|
411 |
+
"type": "assistant_response",
|
412 |
+
"text": event.data.get("text", ""),
|
413 |
+
"is_welcome": True
|
414 |
+
})
|
415 |
|
416 |
async def _handle_tts_chunk(self, event: Event):
|
417 |
"""Send TTS audio chunk to client"""
|