tts
LMNT text-to-speech service implementation.
- pipecat.services.lmnt.tts.language_to_lmnt_language(language: Language) str | None[source]
Convert a Language enum to LMNT language code.
- Parameters:
language – The Language enum value to convert.
- Returns:
The corresponding LMNT language code, or None if not supported.
- class pipecat.services.lmnt.tts.LmntTTSSettings(model: str | None | _NotGiven = <factory>, extra: dict[str, Any]=<factory>, voice: str | None | _NotGiven = <factory>, language: Language | str | None | _NotGiven = <factory>)[source]
Bases:
TTSSettingsSettings for LmntTTSService.
- class pipecat.services.lmnt.tts.LmntTTSService(*, api_key: str, voice_id: str | None = None, sample_rate: int | None = None, language: Language = Language.EN, output_format: str = 'pcm_s16le', model: str | None = None, settings: LmntTTSSettings | None = None, **kwargs)[source]
Bases:
InterruptibleTTSServiceLMNT real-time text-to-speech service.
Provides real-time text-to-speech synthesis using LMNT’s WebSocket API. Supports streaming audio generation with configurable voice models and language settings.
- Settings
alias of
LmntTTSSettings
- __init__(*, api_key: str, voice_id: str | None = None, sample_rate: int | None = None, language: Language = Language.EN, output_format: str = 'pcm_s16le', model: str | None = None, settings: LmntTTSSettings | None = None, **kwargs)[source]
Initialize the LMNT TTS service.
- Parameters:
api_key – LMNT API key for authentication.
voice_id –
ID of the voice to use for synthesis.
Deprecated since version 0.0.105: Use
settings=LmntTTSService.Settings(voice=...)instead.sample_rate – Audio sample rate. If None, uses default.
language –
Language for synthesis. Defaults to English.
Deprecated since version 0.0.106: Use
settings=LmntTTSService.Settings(language=...)instead.output_format – Audio output format. One of “pcm_s16le”, “pcm_f32le”, “mp3”, “ulaw”, “webm”. Defaults to “pcm_s16le”.
model –
TTS model to use.
Deprecated since version 0.0.105: Use
settings=LmntTTSService.Settings(model=...)instead.settings – Runtime-updatable settings. When provided alongside deprecated parameters,
settingsvalues take precedence.**kwargs – Additional arguments passed to parent InterruptibleTTSService.
- can_generate_metrics() bool[source]
Check if this service can generate processing metrics.
- Returns:
True, as LMNT service supports metrics generation.
- language_to_service_language(language: Language) str | None[source]
Convert a Language enum to LMNT service language format.
- Parameters:
language – The language to convert.
- Returns:
The LMNT-specific language code, or None if not supported.
- async start(frame: StartFrame)[source]
Start the LMNT TTS service.
- Parameters:
frame – The start frame containing initialization parameters.
- async cancel(frame: CancelFrame)[source]
Cancel the LMNT TTS service.
- Parameters:
frame – The cancel frame.
- async run_tts(text: str, context_id: str) AsyncGenerator[Frame | None, None][source]
Generate TTS audio from text using LMNT’s streaming 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.