Skip to main content

Krisp VIVA Plugin for LiveKit Agents

Real-time noise reduction for LiveKit voice agents using Krisp's VIVA SDK.

Features

  • voice_isolation(): Real-time voice isolation and noise reduction FrameProcessor
  • voice_isolation_telephony(): Voice isolation tuned for telephony audio (for example, SIP participants)

Installation

pip install livekit-plugins-krisp

That's it. The default backend is bundled with the plugin and authenticates through LiveKit Cloud using the room's credentials — no separate SDK download, license key, or model file is required.

Using your own Krisp license instead? That path has additional prerequisites — see below.

Quick Start

By default, krisp.voice_isolation() uses LiveKit Cloud authentication: the bundled backend ships the voice isolation model and authenticates against LiveKit Cloud using the room JWT the agent framework hands to the FrameProcessor automatically.

from livekit.agents import AgentSession, Agent, JobContext, inference, room_io
from livekit.plugins import krisp, openai

@server.rtc_session()
async def entrypoint(ctx: JobContext):
    # Default: LiveKit Cloud auth + bundled model. No keys or model files.
    noise_cancellation = krisp.voice_isolation(
        noise_suppression_level=75,  # 0-100
    )

    session = AgentSession(
        vad=inference.VAD(),
        stt=openai.STT(),
        llm=openai.LLM(model="gpt-4o-mini"),
        tts=openai.TTS(),
    )

    # Start session with RoomIO and pass the FrameProcessor directly
    await session.start(
        agent=MyAgent(),
        room=ctx.room,
        room_options=room_io.RoomOptions(
            audio_input=room_io.AudioInputOptions(
                noise_cancellation=noise_cancellation,  # Pass the FrameProcessor directly
            ),
        ),
    )

For telephony audio, use krisp.voice_isolation_telephony() instead — it takes the same options and behaves identically, but selects a voice isolation model tuned for telephony.

Audio Pipeline: Room → RoomIO (with voice_isolation) → VAD → STT → LLM

Configuration

voice_isolation() / voice_isolation_telephony() options

Parameter Type Default Description
auth_provider LiveKitCloudAuthProvider | KrispLicenseAuthProvider LiveKitCloudAuthProvider Authentication backend. Defaults to LiveKit Cloud. See the alternative.
noise_suppression_level int 75 Noise reduction intensity (0-100)

Input frames of any size and sample rate are buffered and adapted automatically.

Runtime control

Both factory functions return a KrispVivaFilterFrameProcessor. Adjust it while the session is running:

noise_cancellation.enabled = False              # pass audio through unmodified
noise_cancellation.noise_suppression_level = 50  # adjust 0-100 on the fly
noise_cancellation.close()                       # free resources when done

Alternative: Krisp License Auth

Most users should use the default LiveKit Cloud path above. This alternative is for running the public Krisp SDK directly with your own Krisp license — for example, when using Livekit OSS server.

This path uses the public krisp_audio wheel together with a Krisp license key and a .kef model file that you obtain from Krisp.

Prerequisites

  1. Krisp Audio SDK — proprietary, not on public PyPI. Obtain and install it separately from Krisp:
    pip install krisp-audio
    
  2. License key:
    export KRISP_VIVA_SDK_LICENSE_KEY=your-license-key-here
    
  3. Noise-reduction model — a .kef model file from Krisp:
    export KRISP_VIVA_FILTER_MODEL_PATH=/path/to/noise_model.kef
    

Usage

Select the license backend by passing auth_provider:

from livekit.plugins import krisp

noise_cancellation = krisp.voice_isolation(
    auth_provider=krisp.auth.krisp_license(
        license_key="...",                    # or KRISP_VIVA_SDK_LICENSE_KEY
        model_path="/path/to/noise_model.kef",  # or KRISP_VIVA_FILTER_MODEL_PATH
    ),
    noise_suppression_level=75,
)

license_key and model_path fall back to the environment variables above when omitted.

Troubleshooting

RuntimeError: bundled backend missing

If the default (LiveKit Cloud) backend reports a missing wheel, the install is likely broken. Reinstall the plugin:

pip install --force-reinstall livekit-plugins-krisp

Alternatively, fall back to the Krisp license auth path.

"Krisp SDK initialization failed" or licensing errors (license auth only)

Make sure the license key is set:

export KRISP_VIVA_SDK_LICENSE_KEY=your-license-key-here

"Model path must be provided" (license auth only)

export KRISP_VIVA_FILTER_MODEL_PATH=/path/to/model.kef

"Unsupported sample rate"

Supported: 8000, 16000, 24000, 32000, 44100, 48000 Hz

Silent output

  • Verify the model file is valid (license auth only)
  • Test with known noisy audio

License

The source code in this package (livekit-plugins-krisp) is licensed under the Apache-2.0 license.

The default backend is a separate, closed-source wheel (livekit-plugins-krisp-internal) that is installed automatically as a dependency. It is proprietary and distributed under the LiveKit Terms of Service. That wheel bundles the Krisp VIVA SDK along with its third-party open-source components, whose attribution notices are shipped inside the wheel.

The Krisp license alternative (KrispLicenseAuthProvider) instead needs a manual install of the proprietary Krisp Audio SDK together with your own Krisp license key and model file, governed by your agreement with Krisp.

Metadata

Release files for livekit-plugins-krisp 0.4.11

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

Source distribution (sdist)

Source distribution for livekit-plugins-krisp 0.4.11
File Size Uploaded Provenance Actions
livekit_plugins_krisp-0.4.11.tar.gz 13.2 kB With provenance Details for livekit_plugins_krisp-0.4.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for livekit-plugins-krisp 0.4.11
File Interpreter ABI Platform Actions
livekit_plugins_krisp-0.4.11-py3-none-any.whl Python 3 none any Details for livekit_plugins_krisp-0.4.11-py3-none-any.whl

Total release size: 29.7 kB

Release files / livekit_plugins_krisp-0.4.11.tar.gz

Download URL livekit_plugins_krisp-0.4.11.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
352f4dcf253b1e77fa550381601375cf5047eb3f68724dfaba7fed4118fbbb93
BLAKE2b-256 checksum
How to use checksums
aba5d6888f3fefb49f86aeb54cd50ed0eda61fb4c5a0af1083888a18f1c959d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Release files / livekit_plugins_krisp-0.4.11-py3-none-any.whl

Download URL livekit_plugins_krisp-0.4.11-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f8d2891f745e7b217f24095b5932b17258913c87021a1978296c6b162956b0e
BLAKE2b-256 checksum
How to use checksums
95ba404714db6f2a8bef5bc2ae1553d81769a2ec479f200e2f06ad747ba7100d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Security for livekit-plugins-krisp 0.4.11

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for livekit_plugins_krisp-0.4.11.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.4.11 This release

2 release files Full provenance

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