tts

Groq text-to-speech service implementation.

class pipecat.services.groq.tts.GroqTTSSettings(model: str | None | _NotGiven = <factory>, extra: dict[str, Any]=<factory>, voice: str | None | _NotGiven = <factory>, language: Language | str | None | _NotGiven = <factory>, speed: float | None | _NotGiven = <factory>)[source]

Bases: TTSSettings

Settings for GroqTTSService.

Parameters:

speed – Speech speed multiplier. Defaults to 1.0.

speed: float | None | _NotGiven
class pipecat.services.groq.tts.GroqTTSService(*, api_key: str, output_format: str = 'wav', params: InputParams | None = None, model_name: str | None = None, voice_id: str | None = None, sample_rate: int | None = 48000, settings: GroqTTSSettings | None = None, **kwargs)[source]

Bases: TTSService

Groq text-to-speech service implementation.

Provides text-to-speech synthesis using Groq’s TTS API. The service operates at a fixed 48kHz sample rate and supports various voices and output formats.

Settings

alias of GroqTTSSettings

class InputParams(*, language: Language | None = Language.EN, speed: float | None = 1.0)[source]

Bases: BaseModel

Input parameters for Groq TTS configuration.

Deprecated since version 0.0.105: Use settings=GroqTTSService.Settings(...) instead.

Parameters:
  • language – Language for speech synthesis. Defaults to English.

  • speed – Speech speed multiplier. Defaults to 1.0.

language: Language | None
speed: float | None
GROQ_SAMPLE_RATE = 48000
__init__(*, api_key: str, output_format: str = 'wav', params: InputParams | None = None, model_name: str | None = None, voice_id: str | None = None, sample_rate: int | None = 48000, settings: GroqTTSSettings | None = None, **kwargs)[source]

Initialize Groq TTS service.

Parameters:
  • api_key – Groq API key for authentication.

  • output_format – Audio output format. Defaults to “wav”.

  • params

    Additional input parameters for voice customization.

    Deprecated since version 0.0.105: Use settings=GroqTTSService.Settings(...) instead.

  • model_name

    TTS model to use.

    Deprecated since version 0.0.105: Use settings=GroqTTSService.Settings(model=...) instead.

  • voice_id

    Voice identifier to use.

    Deprecated since version 0.0.105: Use settings=GroqTTSService.Settings(voice=...) instead.

  • sample_rate – Audio sample rate. Must be 48000 Hz for Groq TTS.

  • settings – Runtime-updatable settings. When provided alongside deprecated parameters, settings values take precedence.

  • **kwargs – Additional arguments passed to parent TTSService class.

can_generate_metrics() bool[source]

Check if this service can generate processing metrics.

Returns:

True, as Groq TTS service supports metrics generation.

async run_tts(text: str, context_id: str) AsyncGenerator[Frame, None][source]

Generate speech from text using Groq’s TTS API.

Parameters:
  • text – The text to synthesize into speech.

  • context_id – The context ID for tracking audio frames.

Yields:

Frame – Audio frames containing the synthesized speech data.