TTS

pipecat.services.aws.tts.language_to_aws_language(language)[source]
Parameters:

language (Language)

Return type:

str | None

class pipecat.services.aws.tts.AWSPollyTTSService(*, api_key=None, aws_access_key_id=None, aws_session_token=None, region=None, voice_id='Joanna', sample_rate=None, params=None, **kwargs)[source]

Bases: TTSService

Parameters:
  • api_key (str | None)

  • aws_access_key_id (str | None)

  • aws_session_token (str | None)

  • region (str | None)

  • voice_id (str)

  • sample_rate (int | None)

  • params (InputParams | None)

class InputParams(*, engine=None, language=Language.EN, pitch=None, rate=None, volume=None, lexicon_names=None)[source]

Bases: BaseModel

Parameters:
  • engine (str | None)

  • language (Language | None)

  • pitch (str | None)

  • rate (str | None)

  • volume (str | None)

  • lexicon_names (List[str] | None)

engine: str | None
language: Language | None
pitch: str | None
rate: str | None
volume: str | None
lexicon_names: List[str] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

can_generate_metrics()[source]
Return type:

bool

language_to_service_language(language)[source]

Convert a language to the service-specific language format.

Parameters:

language (Language) – The language to convert.

Returns:

The service-specific language identifier, or None if not supported.

Return type:

str | None

async run_tts(text)[source]

Run text-to-speech synthesis on the provided text.

This method must be implemented by subclasses to provide actual TTS functionality.

Parameters:

text (str) – The text to synthesize into speech.

Yields:

Frame – Audio frames containing the synthesized speech.

Return type:

AsyncGenerator[Frame, None]

class pipecat.services.aws.tts.PollyTTSService(**kwargs)[source]

Bases: AWSPollyTTSService