diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ecf2d2d4..984c033e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,6 +61,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed an issue in `ElevenLabsTTSService` where character usage metrics were + only reported on the first TTS generation per turn. + - Fixed an issue where `LLMTextFrame.skip_tts` was being overwritten by LLM services. diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index 4a7dd0a21..38f4530a0 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -731,10 +731,8 @@ class ElevenLabsTTSService(AudioContextWordTTSService): await self._websocket.send(json.dumps(msg)) logger.trace(f"Created new context {self._context_id}") - await self._send_text(text) - await self.start_tts_usage_metrics(text) - else: - await self._send_text(text) + await self._send_text(text) + await self.start_tts_usage_metrics(text) except Exception as e: yield TTSStoppedFrame() yield ErrorFrame(error=f"Unknown error occurred: {e}")