
Security News
The AI Industry Is Betting on Open Weights
An open letter signed by 50 companies, from NVIDIA and Microsoft to Mistral and Hugging Face, urges Washington not to restrict open weight AI.
@livekit/agents-plugin-krisp
Advanced tools
Real-time noise reduction for LiveKit voice agents using Krisp's VIVA SDK, exposed as a LiveKit FrameProcessor.
See https://docs.livekit.io/agents/integrations/ for more information.
pnpm add @livekit/agents-plugin-krisp
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.
krisp.voiceIsolation() resolves its backend from the environment: if both KRISP_VIVA_SDK_LICENSE_KEY and KRISP_VIVA_FILTER_MODEL_PATH are set, it uses the Krisp license path (you are responsible for installing @krisp/viva-node-sdk); otherwise it 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. Pass authProvider to pin a backend explicitly.
For telephony audio, use krisp.voiceIsolationTelephony() instead — it takes the same options and behaves identically, but selects a noise-reduction model tuned for telephony.
Pass the processor as noiseCancellation in the session's input options:
import { type JobContext, voice } from '@livekit/agents';
import * as krisp from '@livekit/agents-plugin-krisp';
import * as openai from '@livekit/agents-plugin-openai';
import * as silero from '@livekit/agents-plugin-silero';
export default async function entry(ctx: JobContext) {
// Default: LiveKit Cloud auth + bundled model. No keys or model files.
const noiseCancellation = krisp.voiceIsolation({
noiseSuppressionLevel: 100, // 0-100
});
const session = new voice.AgentSession({
vad: await silero.VAD.load(),
stt: new openai.STT(),
llm: new openai.LLM({ model: 'gpt-4o-mini' }),
tts: new openai.TTS(),
});
await session.start({
agent: new voice.Agent({ instructions: 'You are a helpful assistant.' }),
room: ctx.room,
inputOptions: {
// Pass the FrameProcessor directly.
noiseCancellation,
},
});
}
Audio pipeline: Room → RoomIO (with voiceIsolation) → VAD → STT → LLM
KrispVivaFilterOptions| Option | Type | Default | Description |
|---|---|---|---|
authProvider | AuthProvider | LiveKitCloudAuthProvider | Authentication backend. Defaults to LiveKit Cloud. See the alternative. |
noiseSuppressionLevel | number | 100 | Noise reduction intensity (0-100). |
Input frames of any size and sample rate are buffered and adapted automatically.
noiseCancellation.setEnabled(false); // pass audio through unmodified
noiseCancellation.setNoiseSuppressionLevel(50); // adjust 0-100 on the fly
noiseCancellation.close(); // free resources when done
Most users should use the default LiveKit Cloud path above. This alternative is for running the proprietary Krisp SDK directly with your own Krisp license — for example, when using the LiveKit OSS server.
This path uses the proprietary @krisp/viva-node-sdk together with a Krisp license key and a .kef model file that you obtain from Krisp.
pnpm add @krisp/viva-node-sdk
export KRISP_VIVA_SDK_LICENSE_KEY=your-license-key-here
.kef model file from Krisp:
export KRISP_VIVA_FILTER_MODEL_PATH=/path/to/noise_model.kef
Select the license backend by passing authProvider. Both the model path and
the license key come from the environment variables above (read by the native
SDK), so krispLicense() takes no arguments:
import * as krisp from '@livekit/agents-plugin-krisp';
const noiseCancellation = krisp.voiceIsolation({
authProvider: krisp.auth.krispLicense(),
noiseSuppressionLevel: 100,
});
@livekit/plugins-krisp-viva-internal is missingThe default (LiveKit Cloud) backend is bundled as a dependency. If it reports as missing, the install is likely broken — reinstall the plugin, or fall back to the Krisp license auth path.
Install the proprietary Krisp Node SDK (pnpm add @krisp/viva-node-sdk), or use the default auth.livekitCloud() provider.
export KRISP_VIVA_FILTER_MODEL_PATH=/path/to/model.kef
Supported: 8000, 16000, 24000, 32000, 44100, 48000 Hz.
The source code in this package (@livekit/agents-plugin-krisp) is licensed under the Apache-2.0 license.
The default backend is a separate, closed-source package (@livekit/plugins-krisp-viva-internal) installed automatically as a dependency. It is proprietary and distributed under the LiveKit Terms of Service. That package bundles the Krisp VIVA SDK along with its third-party open-source components.
The Krisp license alternative (KrispLicenseAuthProvider) instead needs a manual install of the proprietary @krisp/viva-node-sdk together with your own Krisp license key and model file, governed by your agreement with Krisp.
FAQs
Krisp Audio plugin for LiveKit Node Agents
The npm package @livekit/agents-plugin-krisp receives a total of 51 weekly downloads. As such, @livekit/agents-plugin-krisp popularity was classified as not popular.
We found that @livekit/agents-plugin-krisp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 20 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
An open letter signed by 50 companies, from NVIDIA and Microsoft to Mistral and Hugging Face, urges Washington not to restrict open weight AI.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.