diff --git a/src/pipecat/frames/frames.py b/src/pipecat/frames/frames.py index f7faa8ef0..584be32db 100644 --- a/src/pipecat/frames/frames.py +++ b/src/pipecat/frames/frames.py @@ -558,6 +558,8 @@ class TTSUpdateSettingsFrame(ControlFrame): style: Optional[str] = None style_degree: Optional[str] = None role: Optional[str] = None + gender: Optional[str] = None + google_style: Optional[str] = None @dataclass diff --git a/src/pipecat/services/ai_services.py b/src/pipecat/services/ai_services.py index a329239dc..344531de3 100644 --- a/src/pipecat/services/ai_services.py +++ b/src/pipecat/services/ai_services.py @@ -235,6 +235,14 @@ class TTSService(AIService): async def flush_audio(self): pass + @abstractmethod + async def set_gender(self, gender: str): + pass + + @abstractmethod + async def set_google_style(self, google_style: str): + pass + # Converts the text to audio. @abstractmethod async def run_tts(self, text: str) -> AsyncGenerator[Frame, None]: diff --git a/src/pipecat/services/google.py b/src/pipecat/services/google.py index 519f47028..046b465b4 100644 --- a/src/pipecat/services/google.py +++ b/src/pipecat/services/google.py @@ -272,7 +272,7 @@ class GoogleTTSService(TTSService): logger.debug(f"Switch TTS gender to [{gender}]") self._params.gender = gender - async def google_style( + async def set_google_style( self, google_style: Literal["apologetic", "calm", "empathetic", "firm", "lively"] ) -> None: logger.debug(f"Switching TTS google style to: [{google_style}]")