TTS

pipecat.services.azure.tts.sample_rate_to_output_format(sample_rate)[source]
Parameters:

sample_rate (int)

Return type:

azure.cognitiveservices.speech.SpeechSynthesisOutputFormat

class pipecat.services.azure.tts.AzureBaseTTSService(*, api_key, region, voice='en-US-SaraNeural', sample_rate=None, params=None, **kwargs)[source]

Bases: TTSService

Parameters:
  • api_key (str)

  • region (str)

  • sample_rate (int | None)

  • params (InputParams | None)

class InputParams(*, emphasis=None, language=Language.EN_US, pitch=None, rate='1.05', role=None, style=None, style_degree=None, volume=None)[source]

Bases: BaseModel

Parameters:
  • emphasis (str | None)

  • language (Language | None)

  • pitch (str | None)

  • rate (str | None)

  • role (str | None)

  • style (str | None)

  • style_degree (str | None)

  • volume (str | None)

emphasis: str | None
language: Language | None
pitch: str | None
rate: str | None
role: str | None
style: str | None
style_degree: str | None
volume: 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

class pipecat.services.azure.tts.AzureTTSService(**kwargs)[source]

Bases: AzureBaseTTSService

async start(frame)[source]

Start the TTS service.

Parameters:

frame (StartFrame) – The start frame containing initialization parameters.

async flush_audio()[source]

Flush any buffered audio data.

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.azure.tts.AzureHttpTTSService(**kwargs)[source]

Bases: AzureBaseTTSService

async start(frame)[source]

Start the TTS service.

Parameters:

frame (StartFrame) – The start frame containing initialization parameters.

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]