From e06146c23770c3611a436e12c3dfb5528fb7afee Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Tue, 6 May 2025 11:06:57 -0400 Subject: [PATCH 1/2] Add enable_ssml_parsing to ElevenLabsTTSService --- CHANGELOG.md | 2 ++ src/pipecat/services/elevenlabs/tts.py | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95350157f..1bbc5210d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Added `enable_ssml_parsing` to `InputParams` in `ElevenLabsTTSService`. + - Added support to `RimeHttpTTSService` for the `arcana` model. ### Fixed diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index 4362fcdc9..ea89d1378 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -169,6 +169,7 @@ class ElevenLabsTTSService(InterruptibleWordTTSService): use_speaker_boost: Optional[bool] = None speed: Optional[float] = None auto_mode: Optional[bool] = True + enable_ssml_parsing: Optional[bool] = None @model_validator(mode="after") def validate_voice_settings(self): @@ -227,6 +228,7 @@ class ElevenLabsTTSService(InterruptibleWordTTSService): "use_speaker_boost": params.use_speaker_boost, "speed": params.speed, "auto_mode": str(params.auto_mode).lower(), + "enable_ssml_parsing": params.enable_ssml_parsing, } self.set_model_name(model) self.set_voice(voice_id) @@ -324,6 +326,9 @@ class ElevenLabsTTSService(InterruptibleWordTTSService): if self._settings["optimize_streaming_latency"]: url += f"&optimize_streaming_latency={self._settings['optimize_streaming_latency']}" + if self._settings["enable_ssml_parsing"]: + url += f"&enable_ssml_parsing={self._settings['enable_ssml_parsing']}" + # Language can only be used with the ELEVENLABS_MULTILINGUAL_MODELS language = self._settings["language"] if model in ELEVENLABS_MULTILINGUAL_MODELS and language is not None: From 288f8865c8471adf5b4ec1706445099259b61af2 Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Tue, 6 May 2025 12:13:26 -0400 Subject: [PATCH 2/2] Add enable_logging to ElevenLabsTTSService --- CHANGELOG.md | 3 ++- src/pipecat/services/elevenlabs/tts.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bbc5210d..013a84421 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Added `enable_ssml_parsing` to `InputParams` in `ElevenLabsTTSService`. +- Added `enable_ssml_parsing` and `enable_logging` to `InputParams` in + `ElevenLabsTTSService`. - Added support to `RimeHttpTTSService` for the `arcana` model. diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index ea89d1378..0a3d5d0d1 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -170,6 +170,7 @@ class ElevenLabsTTSService(InterruptibleWordTTSService): speed: Optional[float] = None auto_mode: Optional[bool] = True enable_ssml_parsing: Optional[bool] = None + enable_logging: Optional[bool] = None @model_validator(mode="after") def validate_voice_settings(self): @@ -229,6 +230,7 @@ class ElevenLabsTTSService(InterruptibleWordTTSService): "speed": params.speed, "auto_mode": str(params.auto_mode).lower(), "enable_ssml_parsing": params.enable_ssml_parsing, + "enable_logging": params.enable_logging, } self.set_model_name(model) self.set_voice(voice_id) @@ -329,6 +331,9 @@ class ElevenLabsTTSService(InterruptibleWordTTSService): if self._settings["enable_ssml_parsing"]: url += f"&enable_ssml_parsing={self._settings['enable_ssml_parsing']}" + if self._settings["enable_logging"]: + url += f"&enable_logging={self._settings['enable_logging']}" + # Language can only be used with the ELEVENLABS_MULTILINGUAL_MODELS language = self._settings["language"] if model in ELEVENLABS_MULTILINGUAL_MODELS and language is not None: