RTC Device SDK

Krisp Device SDK: a C++ library for noise and background voice cancellation for Mac, Windows, Linux, IOS and Android.

Krisp RTC Device SDK is a C/C++ library for Windows, macOS, Linux, Android and IOS. It can also be integrated into Electron or other frameworks: see Integrations with Apps.

Supported audio

Audio frame duration

10ms, 15ms, 20ms, 30ms, 32ms *

Audio sample rates

8KHz, 16KHz, 32KHz, 24KHz, 44.1KHz, 48KHz, 88.2KHz, 96KHz

Example

The technical integration of Krisp Audio SDK should have correct sequence of functions invocation. The following example shows how to use the exposed functions. For more details, please refer to the sample apps.

try
{
    globalInit(L"");

    ModelInfo ncModelInfo;
    ncModelInfo.path = weightFilePath; // .kef file

    NcSessionConfig ncCfg =
    {
        inRate,
        frameDurationMillis,
        outRate,
        &ncModelInfo,
        withStats,
        nullptr // Ringtone model cfg for inbound stream case
    };

    std::shared_ptr<Nc<SamplingFormat>> ncSession = Nc<SamplingFormat>::create(ncCfg);

    while(frameAvailable)
    {
        ncSession->process(inFrame, inFrameSize, outFrame, outFrameSize,
                           noiseSuppressionLevel, withStats ? &perFrameStats : nullptr);
    }

    // ncSession is a shared_ptr. Free pointer before globalDestroy()
    ncSession.reset();
    globalDestroy();
}
catch(std::exception& ex)
{
  // Handle exception
}

Background Voice Cancellation

Device Requirements

Implementing the BVC integration requires detecting the connected audio device, matching against the allow/block lists tested by Krisp, and optionally comparing it to the local allow list.

Device ListDescription
Krisp allow listThese devices have been tested and approved by Krisp. You may safely enable BVC automatically.
Krisp block listThese devices have been tested and rejected by Krisp as they showed poor performance and quality. You are not recommended to enable BVC on these devices.
Local allow listIf the connected device is not in the allow or block list, you may still want to allow the user to enable BVC manually. Then, the app may maintain a local allow list for devices to look up for enabling BVC.

Recommended Pipeline

Desktop SDK: Recommended Pipeline


RTC Device SDK Integrations

We have developed a series of how-to's to ensure seamless integration of Krisp SDK into a wide variety of applications and environments using the most common web and communication frameworks. These guides are regularly updated to reflect the integration requirements and examples from our constantly growing customer base.

WebRTC logo

These guides explain how to integrate Krisp SDK into Android and iOS apps using WebRTC, a real-time communication framework that enables web-based voice and video calls. By integrating Krisp with WebRTC, you can provide your users with noise-free communication directly in the browser.


Twilio logo

The guide explains how to integrate Krisp Audio SDK with Twilio Video on IOS.



Performance

Outbound Noise Cancellation Performance

Benchmarks were conducted for the following devices:  
Dell Inspiron 15 5000 1th Gen Intel Core i5-1135G7, 2.4GHz 16GB RAM  
MacBook Pro Intel 2019 Intel Core i5 2133MHz LPDDR3, 1.4GHz 8GB RAM  
MacBook Pro M1 13″ 2020 Chip Apple M1, 8GB RAM

Benchmarks were conducted for the following devices:
Dell Inspiron 15 5000 11th Gen Intel Core i5-1135G7, 2.4GHz 16GB RAM
MacBook Pro Intel 2019 Intel Core i5 2133MHz LPDDR3, 1.4GHz 8GB RAM
MacBook Pro M1 13″ 2020 Chip Apple M1, 8GB RAM

Benchmarks were conducted for Desktop SDK v9.0.0 using data from Task Manager (Windows) and Activity Monitor (macOS).

Benchmarks were conducted for Desktop SDK v9.0.0 using data from Task Manager (Windows) and Activity Monitor (macOS).

Inbound Noise Cancellation Performance

Benchmarks were conducted for the following devices:  
**Dell Inspiron 15 5000** 1th Gen Intel Core i5-1135G7, 2.4GHz 16GB RAM  
**MacBook Pro Intel 2019 **Intel Core i5 2133MHz LPDDR3, 1.4GHz 8GB RAM  
**MacBook Pro M1 **13″ 2020 Chip Apple M1, 8GB RAM

Benchmarks were conducted for the following devices:
Dell Inspiron 15 5000 11th Gen Intel Core i5-1135G7, 2.4GHz 16GB RAM
MacBook Pro Intel 2019 Intel Core i5 2133MHz LPDDR3, 1.4GHz 8GB RAM
MacBook Pro M1 13″ 2020 Chip Apple M1, 8GB RAM

Benchmarks were conducted for Desktop SDK v9.0.0 using data from Task Manager (Windows) and Activity Monitor (macOS).

Benchmarks were conducted for Desktop SDK v9.0.0 using data from Task Manager (Windows) and Activity Monitor (macOS).

Background Voice Cancellation Performance

Benchmarks were conducted for the following devices:  
**Dell Inspiron 15 5000 **1th Gen Intel Core i5-1135G7, 2.4GHz 16GB RAM  
**MacBook Pro Intel 2019 **Intel Core i5 2133MHz LPDDR3, 1.4GHz 8GB RAM  
**MacBook Pro M1** 13″ 2020 Chip Apple M1, 8GB RAM

Benchmarks were conducted for the following devices:
Dell Inspiron 15 5000 11th Gen Intel Core i5-1135G7, 2.4GHz 16GB RAM
MacBook Pro Intel 2019 Intel Core i5 2133MHz LPDDR3, 1.4GHz 8GB RAM
MacBook Pro M1 13″ 2020 Chip Apple M1, 8GB RAM

Benchmarks were conducted for Desktop SDK v9.0.0 using data from Task Manager (Windows) and Activity Monitor (macOS).

Benchmarks were conducted for Desktop SDK v9.0.0 using data from Task Manager (Windows) and Activity Monitor (macOS).




Did this page help you?