diff --git a/examples/foundational/55zf-update-settings-camb-tts.py b/examples/foundational/55zf-update-settings-camb-tts.py index 5f0840857..37b845ab4 100644 --- a/examples/foundational/55zf-update-settings-camb-tts.py +++ b/examples/foundational/55zf-update-settings-camb-tts.py @@ -96,9 +96,11 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): await task.queue_frames([LLMRunFrame()]) await asyncio.sleep(10) - logger.info("Updating Camb TTS settings: language -> Spanish") + logger.info("Updating Camb TTS settings: language -> Spanish, voice -> Pirate Captain") await task.queue_frame( - TTSUpdateSettingsFrame(delta=CambTTSService.Settings(language=Language.ES)) + TTSUpdateSettingsFrame( + delta=CambTTSService.Settings(language=Language.ES, voice=147319) + ) ) @transport.event_handler("on_client_disconnected") diff --git a/src/pipecat/services/camb/tts.py b/src/pipecat/services/camb/tts.py index b0c237165..9c360ed37 100644 --- a/src/pipecat/services/camb/tts.py +++ b/src/pipecat/services/camb/tts.py @@ -138,10 +138,13 @@ class CambTTSSettings(TTSSettings): """Settings for CambTTSService. Parameters: + voice: Camb.ai voice ID. Overrides ``TTSSettings.voice`` (str) because + Camb.ai uses integer voice IDs. user_instructions: Custom instructions for mars-instruct model only. Ignored for other models. Max 1000 characters. """ + voice: int | _NotGiven = field(default_factory=lambda: NOT_GIVEN) user_instructions: str | None | _NotGiven = field(default_factory=lambda: NOT_GIVEN)