many-fall-81099
02/17/2026, 9:54 PMtall-airline-16756
02/17/2026, 9:54 PMtall-airline-16756
02/17/2026, 9:54 PMpcm_22050 or pcm_44100 produce clearer audio, though they use more bandwidth.
What to change (key settings)
• encoding (audio format / sample rate) — choose a higher PCM sample rate such as pcm_22050 or pcm_44100. This yields richer, clearer audio than lower rates.
• model — use a higher-fidelity model (for example eleven_multilingual_v2 or other higher-fidelity ElevenLabs models) to improve clarity.
• voice_id / voice — pick a higher-quality voice if available; voices differ in fidelity.
• chunk_length_schedule — adjust chunking to reduce streaming artifacts (helps smoothness during long or streaming responses).
• use_tts_aligned_transcript — enable word-level alignment to avoid timing issues that can create stutters or perceived quality drops.
Code examples
• Python (example):
from livekit.plugins import elevenlabs
tts = elevenlabs.TTS(
model="eleven_multilingual_v2",
voice_id="your_voice_id",
encoding="pcm_22050", # try pcm_22050 or pcm_44100
chunk_length_schedule=[80, 120, 200]
)
session = AgentSession(tts=tts, use_tts_aligned_transcript=True)
• Node.js (example):
import * as elevenlabs from '@livekit/agents-plugin-elevenlabs';
const tts = new elevenlabs.TTS({
model: "eleven_multilingual_v2",
voice: { id: "your_voice_id" },
encoding: "pcm_22050"
});
const session = new voice.AgentSession({
tts,
voiceOptions: { useTtsAlignedTranscript: true }
});
Practical tips to get the best end-to-end quality
• Match sample rates where possible (avoid unnecessary resampling). If your TTS outputs 44.1kHz audio but your pipeline resamples to a lower rate, you’ll lose quality.
• Remember LiveKit will ultimately wrap audio into WebRTC (Opus). Starting with higher-quality PCM improves the Opus input and the final perceived audio.
• If you see stutter/interruptions, try tuning chunk_length_schedule or set preemptive_generation=False to avoid clipping mid-sentence.
• If you need normalization or extra post-processing (EQ, de-essing), you can override the tts_node to apply that processing before sending audio into the pipeline.
Would you like help with any of the following?
• I can provide a copy/paste-ready example matching your project language (Node or Python) and where to place this in your agent code.
• If you tell me which encoding and model you’re currently using and whether you’re seeing stutter vs just muffled/low fidelity, I can give a targeted setting suggestion.
If you want, tell me: which language (Node/Python) and current encoding/model you’re using and a brief description of the quality issue (muffled, robotic, stuttering, low volume). I’ll propose a concrete config to try.
Sources: ElevenLabs TTS plugin guide | LiveKit Documentation | Pipeline nodes and hooks | LiveKit Documentationmany-fall-81099
02/17/2026, 9:56 PMtall-airline-16756
02/17/2026, 9:56 PM