Skip to main content

Enhanced Noise Cancellation Plugin for LiveKit

Add realtime enhanced noise cancellation to inbound AudioStream. Fully compatible with LiveKit Agents.

Requires LiveKit Cloud.

Read more in the documentation

Audio chain

This package runs server-side on inbound audio (e.g. in an agent or on an AudioStream). Remote participants’ tracks are cleaned before your code or the agent consumes the audio.

flowchart LR
  Room["LiveKit room"] --> Track["Remote track (inbound)"]
  Track --> NC["livekit.plugins.noise_cancellation"]
  NC --> Stream["AudioStream / Agent input"]
  Stream --> Consumer["Your code or agent"]

Usage

In LiveKit Agents

Include the filter in RoomInputOptions when starting your AgentSession:

from livekit.plugins import noise_cancellation

# ...
await session.start(
    # ...,
    room_input_options=room_io.RoomInputOptions(
        noise_cancellation=noise_cancellation.BVC(),
    ),
)
# ...

On AudioStream

Noise cancellation can also be applied to any individual inbound AudioStream:

from livekit.rtc import AudioStream
from livekit.plugins import noise_cancellation

stream = AudioStream.from_track(
    track=track,
    noise_cancellation=noise_cancellation.BVC(),
)

Available Models

There are three noise cancellation models available:

# Standard enhanced noise cancellation (NC)
noise_cancellation.NC()

# Background voice cancellation (NC + removes non-primary voices
# that would confuse transcription or turn detection)
noise_cancellation.BVC()

# Background voice cancellation optimized for telephony applications
noise_cancellation.BVCTelephony()

Notes

Noise cancellation only needs to be applied once, so if you choose to apply it here you should disable noise cancellation / Krisp filter in your frontend clients.

If you experience crashes when using noise_cancellation (especially on AMD CPUs), it may be due to a failure in OpenBLAS's CPU detection. Manually setting the OPENBLAS_CORETYPE environment variable to a more conservative value (e.g., Haswell) may resolve the issue.

License

See: https://livekit.io/legal/terms-of-service

Metadata

Release files for livekit-plugins-noise-cancellation 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for livekit-plugins-noise-cancellation 0.3.3
File Actions
livekit_plugins_noise_cancellation-0.3.3-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for livekit_plugins_noise_cancellation-0.3.3-py3-none-win_amd64.whl
livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_x86_64.whl
livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_aarch64.whl
livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_11_0_arm64.whl
livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_10_9_x86_64.whl Python 3 none macOS 10.9+ x86-64 Details for livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_10_9_x86_64.whl

Total release size: 342.5 MB

Release files / livekit_plugins_noise_cancellation-0.3.3-py3-none-win_amd64.whl

Download URL livekit_plugins_noise_cancellation-0.3.3-py3-none-win_amd64.whl
Size 66.3 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
6ddd6f7fb255db0b02309e50e6a193d0ae57dd5624e1045b3e00e9dddec71d33
BLAKE2b-256 checksum
How to use checksums
e97c4104604b1f47720019199a4db434f02c81fe4bb675231aef7aa92e459dee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_x86_64.whl

Download URL livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_x86_64.whl
Size 73.6 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
57d175a38ff726638e66a9aa50a2a9712773667a3da556fbdd46bc20ff85fbdc
BLAKE2b-256 checksum
How to use checksums
503ff8a0c20a88afedb4072f28bf2c4d7b9ea452e56facba840bfef64535e194
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_aarch64.whl

Download URL livekit_plugins_noise_cancellation-0.3.3-py3-none-manylinux_2_28_aarch64.whl
Size 70.8 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
a0bb59c7d5061e487a9c4d90f25d8ca3e0cc228d9b598fe0f1af1b25c1f5a38b
BLAKE2b-256 checksum
How to use checksums
11949d9dd25bec9f0f300125fd7fa9a96a585271d7b2fe5bab5592fdf8a1418a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_11_0_arm64.whl

Download URL livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_11_0_arm64.whl
Size 65.1 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
107b506a762875c090d9c04c0631742add52b9ba61cefb035f541e48e5a0b754
BLAKE2b-256 checksum
How to use checksums
092f5b8a5982a2900ae300f944683f0d754fd96324de0258b132c5fab2d8347d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_10_9_x86_64.whl

Download URL livekit_plugins_noise_cancellation-0.3.3-py3-none-macosx_10_9_x86_64.whl
Size 66.6 MB
Tags Python 3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
668556be7c8a781facf1d0e04008408598aea454f899053588a714f7de9155b0
BLAKE2b-256 checksum
How to use checksums
960407bae58d18b065a3c487d2d201ca8ec56b08bed6ab26e544cbebd5447409
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for livekit-plugins-noise-cancellation 0.3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page