Merge pull request #1751 from pipecat-ai/mb/11labs-enable_ssml_parsing

Add enable_ssml_parsing and enable_logging to ElevenLabsTTSService
This commit is contained in:
Mark Backman
2025-05-06 16:25:20 -04:00
committed by GitHub
2 changed files with 13 additions and 0 deletions

View File

@@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added `enable_ssml_parsing` and `enable_logging` to `InputParams` in
`ElevenLabsTTSService`.
- Added support to `RimeHttpTTSService` for the `arcana` model.
### Fixed

View File

@@ -169,6 +169,8 @@ class ElevenLabsTTSService(InterruptibleWordTTSService):
use_speaker_boost: Optional[bool] = None
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):
@@ -227,6 +229,8 @@ 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,
"enable_logging": params.enable_logging,
}
self.set_model_name(model)
self.set_voice(voice_id)
@@ -324,6 +328,12 @@ 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']}"
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: