---
updatedAt: 2026-10-09T20:37:33.000Z
agentTools:
  projectIndex: https://sdk-docs.krisp.ai/llms.txt
---

# Overview

Krisp Noise Cancellation and Background Voice Cancellation for calls: what each removes, sample rates, latency and echo cancellation placement.

Krisp RTC SDK includes two technologies for cleaning the user's audio in calls and meetings:

* **Noise Cancellation (NC)** removes background noise. It works on both the outbound (microphone) and inbound (speaker) streams, at any sample rate including narrow-band.
* **Background Voice Cancellation (BVC)** also removes other people's voices around the user, plus noise and reverberation. It works on the outbound stream, above 8 kHz.

To choose a model for your platform and audio, see the [Model Selection Guide](https://sdk-docs.krisp.ai/docs/rtc-model-guide-bvc-nc).

# Background Voice Cancellation (BVC)

Background Voice Cancellation (BVC) technology is developed to cancel all background voices. It also removes all background noises and reverberation. The technology does not require user voice enrollment or training on user voice data. Krisp has deployed this technology in its Desktop applications, fixing the problem of cross-talk in call centers and offices.

BVC technology is designed to work with any headset and earbud. It works best with wired USB headsets with a boom microphone and is also compatible with most Bluetooth headsets, including AirPods. The list of devices tested by Krisp for BVC can be found [here](https://sdk-docs.krisp.ai/docs/bvc-device-list).

Also, the model might demonstrate acceptable performance when using high-quality built-in microphones or standalone external microphones, such as Apple MacBooks.

### Sampling Rate

The BVC model works at the 32KHz sampling rate. The BVC model works well for sampling rates above 8KHz, in which case the sound stream will be resampled to the working 32KHz sampling rate.

The BVC technology is incompatible with Narrow Band devices with sampling rates of <=8KHz. For 8KHz and lower sampling rates, narrowband Krisp NC models should be used.

<Callout icon="❗️" theme="warn">
  Some devices report a higher sample rate but actually capture narrow-band audio. With these devices, BVC quality can drop and the user's voice may be suppressed. Put such devices on a block list and use NC for them.
</Callout>

### Performance

The performance of the algorithm varies depending on the platform within the range of 5-13%.

Performance metrics for the latest versions can be found in platform-specific Introduction pages.

# Noise Cancellation (NC)

Noise Cancellation removes background noise during real-time communication. Krisp SDK includes models for both the **outbound** (microphone) and the **inbound** (speaker) stream.

### Outbound NC

The outbound models are designed for **near-field** audio, with the mouth less than 50 cm from the microphone. In more distant setups, quality depends on the distance, echo, signal-to-noise ratio and the audio device.

### Inbound NC

The inbound models remove noise from the audio the user hears. Besides noise, they handle network and codec degradations and several overlapping speakers, and they also work on low-bandwidth audio such as landline calls.

### De-reverberation

NC also removes room echo (reverberation) from the user's voice automatically.

### Model sizes and sample rates

Both outbound and inbound NC come as two models:

* **Small** (the SDK default): runs about 7x faster than Big and suits lower-end devices, with good noise cancellation quality.
* **Big** (on demand): the highest speech and noise quality, at a higher CPU cost.

The models work natively at 32 kHz, 16 kHz and 8 kHz. Higher sample rates are downsampled, processed and upsampled back to the original rate.

### Latency

Each call takes one audio frame and returns a clean frame of the same size. The algorithmic latency depends on the sample rate and frame duration. For example, with 10 ms frames at 16 kHz it is about 25 ms.

### Echo cancellation (AEC)

If your app uses acoustic echo cancellation, put the AEC block **before** Krisp NC on the capture path and **after** Krisp NC on the render path.

<Image alt="Audio pipeline with AEC before Krisp NC on capture and after Krisp NC on render" align="center" width="800px" src="https://files.readme.io/d8b25cd-AEC_Pipeline.png" />

# Sibling pages

* [Web Browser SDK](https://sdk-docs.krisp.ai/docs/web-browser-sdk.md)
* [Desktop SDK](https://sdk-docs.krisp.ai/docs/desktop-sdk-bvc.md)
* [Mobile SDK](https://sdk-docs.krisp.ai/docs/mobile-background-voice-cancellation.md)
* [Model Selection Guide - BVC & NC](https://sdk-docs.krisp.ai/docs/rtc-model-guide-bvc-nc.md)
* [BVC Device List](https://sdk-docs.krisp.ai/docs/bvc-device-list.md)

# What’s Next

Learn more about our BVC & NC models from our Model Selection Guide

* [Model Selection Guide - BVC & NC](https://sdk-docs.krisp.ai/docs/rtc-model-guide-bvc-nc.md)