Deepgram: disconnect and reconnect on language change

This commit is contained in:
Mark Backman
2024-10-03 12:31:42 -04:00
parent 65eeb0f1f6
commit 45c7d36b2e
2 changed files with 11 additions and 1 deletions

View File

@@ -407,6 +407,10 @@ class STTService(AIService):
async def set_model(self, model: str):
self.set_model_name(model)
@abstractmethod
async def set_language(self, language: Language):
pass
@abstractmethod
async def run_stt(self, audio: bytes) -> AsyncGenerator[Frame, None]:
"""Returns transcript as a string"""
@@ -419,7 +423,7 @@ class STTService(AIService):
logger.debug(f"Updating STT setting {key} to: [{value}]")
self._settings[key] = value
if key == "language":
self._settings[key] = Language(value)
await self.set_language(value)
elif key == "model":
self.set_model_name(value)
else:

View File

@@ -158,6 +158,12 @@ class DeepgramSTTService(STTService):
await self._disconnect()
await self._connect()
async def set_language(self, language: Language):
logger.debug(f"Switching STT language to: [{language}]")
self._settings["language"] = language
await self._disconnect()
await self._connect()
async def start(self, frame: StartFrame):
await super().start(frame)
await self._connect()