echoing-lamp-18687
12/16/2025, 1:09 PMtall-airline-16756
12/16/2025, 1:10 PMtall-airline-16756
12/16/2025, 1:10 PMechoing-lamp-18687
12/16/2025, 1:11 PMtall-airline-16756
12/16/2025, 1:11 PMstreaming_latency (seconds) — lower = faster first audio.
tts = elevenlabs.TTS(voice_id="ODq5z...", streaming_latency=1)
• Rime: reduce_latency=True disables text normalization for faster output (may affect pronunciation).
tts = rime.TTS(model="arcana", speaker="celeste", reduce_latency=True)
• Hume: instant_mode=True enables ultra-low latency (higher cost); auto-enabled when a voice is specified.
tts = hume.TTS(voice=hume.VoiceByName(name="Colton Rivers"), instant_mode=True)
• Choose streaming-capable TTS engines
◦ Use providers/plugins that stream audio (Cartesia, ElevenLabs, OpenAI, etc.) so audio is generated incrementally as tokens arrive.
• Preemptive / incremental synthesis
◦ Let the TTS node synthesize chunks as the LLM yields tokens (TTS begins before the full response finishes).
• Use LiveKit Inference / co-location
◦ Run models via LiveKit Inference for lower network latency and provisioned capacity (reduces TTFB and token latency).
• Pick low-latency models
◦ Prefer models built for real-time (e.g., Cartesia Sonic, Rime Arcana) to reduce Time To First Byte (TTFB).
• Monitor and tune metrics
◦ Track TTFB (first audio byte), TTFT (first token), and overall end-to-end latency. Adjust plugin params and model choices accordingly.
• Avoid non-streaming models
◦ Don’t use TTS models that require full-text input before synthesis if you need low latency.
Would you like example code for your stack (Node or Python) or help picking specific plugin settings for a particular provider?
Sources: ElevenLabs TTS plugin guide | LiveKit Docs | Rime TTS plugin guide | LiveKit Docs | Hume TTS plugin guide | LiveKit Docs | Agents (Node.js) | livekit/livekit_composite | DeepWiki | Pipeline nodes and hooks | LiveKit docs