little-king-41579
02/23/2026, 5:49 PMtall-airline-16756
02/23/2026, 5:49 PMtall-airline-16756
02/23/2026, 5:49 PMBVC() for WebRTC participants and BVCTelephony() for SIP/telephony participants for best results.
• These models run locally and add minimal latency (<10 ms) but will increase CPU usage on the agent server.
What to avoid on self‑hosted
• Remove any enhanced noise cancellation plugin that depends on LiveKit Cloud (for example Krisp-based/cloud-only features). Some noise cancellation capabilities are Cloud-only and are not available when self-hosting.
• Also disable any other noise suppression (e.g., krisp_enabled) to avoid double-processing audio.
How to enable noise cancellation (high level)
1. Use the agent-side noise cancellation plugins from livekit-plugins-noise-cancellation.
2. Configure noise cancellation in room_options when starting your AgentSession. Example pattern:
await session.start(
room=ctx.room,
agent=Assistant(),
room_options=room_io.RoomOptions(
audio_input=room_io.AudioInputOptions(
noise_cancellation=lambda params: noise_cancellation.BVCTelephony()
if params.participant.kind == rtc.ParticipantKind.PARTICIPANT_KIND_SIP
else noise_cancellation.BVC(),
),
),
)
Notes and tradeoffs
• CPU: Expect higher CPU usage on the agent host when noise cancellation is enabled.
• Latency: Noise cancellation adds minimal latency (<10ms).
• Avoid enabling other suppression layers on clients or the agent to prevent degraded audio from double processing.
Next steps / Helpful questions
• Do you need a concrete code example for your language (Python, Node, Go)?
• Are you handling SIP trunks or only WebRTC participants?
• Do you want guidance on sizing agent servers for CPU load with noise cancellation enabled?
Tell me which of the above you'd like next and I’ll provide a tailored configuration or code snippet.
Sources: Choosing the right noise cancellation for your agent | LiveKit | Voice AI quickstart | LiveKit Documentation