diff --git a/changelog/3226.fixed.md b/changelog/3226.fixed.md new file mode 100644 index 000000000..e71ec52c2 --- /dev/null +++ b/changelog/3226.fixed.md @@ -0,0 +1,2 @@ +- Fixed an issue where `ElevenLabsHttpTTSService` was not updating + voice settings when receiving a `TTSUpdateSettingsFrame`. diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index f7a3f4367..5314c3766 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -868,6 +868,11 @@ class ElevenLabsHttpTTSService(WordTTSService): def _set_voice_settings(self): return build_elevenlabs_voice_settings(self._settings) + async def _update_settings(self, settings: Mapping[str, Any]): + await super()._update_settings(settings) + # Update voice settings for the next context creation + self._voice_settings = self._set_voice_settings() + def _reset_state(self): """Reset internal state variables.""" self._cumulative_time = 0