diff --git a/examples/foundational/07c-interruptible-deepgram.py b/examples/foundational/07c-interruptible-deepgram.py index 818c8bc93..5d3ab3dbf 100644 --- a/examples/foundational/07c-interruptible-deepgram.py +++ b/examples/foundational/07c-interruptible-deepgram.py @@ -48,7 +48,8 @@ async def main(room_url: str, token): tts = DeepgramTTSService( aiohttp_session=session, api_key=os.getenv("DEEPGRAM_API_KEY"), - voice="aura-helios-en" + # voice="aura-helios-en" + base_url="https://api.deepgram.com/v1/speak" ) llm = OpenAILLMService( @@ -74,7 +75,7 @@ async def main(room_url: str, token): tma_out # Assistant spoken responses ]) - task = PipelineTask(pipeline, PipelineParams(allow_interruptions=True)) + task = PipelineTask(pipeline, PipelineParams(allow_interruptions=True, enable_metrics=True)) @transport.event_handler("on_first_participant_joined") async def on_first_participant_joined(transport, participant): diff --git a/src/pipecat/services/deepgram.py b/src/pipecat/services/deepgram.py index ce418916b..6c762076f 100644 --- a/src/pipecat/services/deepgram.py +++ b/src/pipecat/services/deepgram.py @@ -22,12 +22,14 @@ class DeepgramTTSService(TTSService): aiohttp_session: aiohttp.ClientSession, api_key: str, voice: str = "aura-helios-en", + base_url: str = "https://api.deepgram.com/v1/speak", **kwargs): super().__init__(**kwargs) self._voice = voice self._api_key = api_key self._aiohttp_session = aiohttp_session + self._base_url = base_url def can_generate_metrics(self) -> bool: return True @@ -35,7 +37,7 @@ class DeepgramTTSService(TTSService): async def run_tts(self, text: str) -> AsyncGenerator[Frame, None]: logger.debug(f"Generating TTS: [{text}]") - base_url = "https://api.deepgram.com/v1/speak" + base_url = self._base_url request_url = f"{base_url}?model={self._voice}&encoding=linear16&container=none&sample_rate=16000" headers = {"authorization": f"token {self._api_key}"} body = {"text": text}