Fix 11labs realtime dynamic updates (#3117)

This commit is contained in:
Dante Noguez
2025-11-22 09:02:37 -06:00
committed by GitHub
parent a6202c4d1a
commit 3458b74fc9
2 changed files with 13 additions and 1 deletions

View File

@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Fixed
- Fixed an issue in `ElevenLabsRealtimeSTTService` where dynamic language updates were not working.
### Added ### Added
- Added optional speaking rate control to `InworldTTSService`. - Added optional speaking rate control to `InworldTTSService`.

View File

@@ -459,6 +459,8 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
self._audio_format = "" # initialized in start() self._audio_format = "" # initialized in start()
self._receive_task = None self._receive_task = None
self._settings = {"language": params.language_code}
def can_generate_metrics(self) -> bool: def can_generate_metrics(self) -> bool:
"""Check if the service can generate processing metrics. """Check if the service can generate processing metrics.
@@ -477,7 +479,13 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
Changing language requires reconnecting to the WebSocket. Changing language requires reconnecting to the WebSocket.
""" """
logger.info(f"Switching STT language to: [{language}]") logger.info(f"Switching STT language to: [{language}]")
self._params.language_code = language.value if isinstance(language, Language) else language new_language = (
language_to_elevenlabs_language(language)
if isinstance(language, Language)
else language
)
self._params.language_code = new_language
self._settings["language"] = new_language
# Reconnect with new settings # Reconnect with new settings
await self._disconnect() await self._disconnect()
await self._connect() await self._connect()