Introduction

Krisp provides a JS SDK with an out-of-the-box application architecture that allows developers and teams to integrate AI-powered speech clarity features in real-time communication applications.

Krisp SDK is the only robust Javascript-based Noise Cancellation SDK available for browsers. Running audio AI inside the browsers is challenging for various reasons.

Audio Pipeline and Processing

Krisp Javascript SDK is integrated with WebRTC and Web Audio as a noise audio filter.

The noise-canceling neural network is built on WASM for high performance.

The SDK receives audio buffers in chunks and processes them in a dedicated worker to offload the main thread.

Performance

  • Package Size: 12MB
  • Memory Footprint: ~15 MB
  • Frame Processing: 1.5-2ms
Benchmarks conducted for JS SDK v1.0.8 with Chrome v108 on Mac M1 and Chrome v109 on Windows and Mac Intel on the same reference computers used for Desktop. On Mac M1 Krisp SDK runs ~85% on high-efficiency cores resulting in relatively higher CPU% but ensuring better battery performance.

Benchmarks conducted for JS SDK v1.0.8 with Chrome v108 on Mac M1 and Chrome v109 on Windows and Mac Intel on the same reference computers used for Desktop. On Mac M1 Krisp SDK runs ~85% on high-efficiency cores resulting in relatively higher CPU% but ensuring better battery performance.

Enabling Shared Array Buffer results in decrease in CPU performance.

Measurements conducted for JS SDK v1.0.8 with **Shared Array Buffer** enabled on the same reference devices and browser versions

Measurements conducted for JS SDK v1.0.8 with Shared Array Buffer enabled on the same reference devices and browser versions

❗️

Important Notes

  • CPU% is generally higher in JS SDK compared to native SDK. This is expected as the code runs in the browser in different worker threads, which provides improved stability and eliminates memory leaks.
  • Krisp JS SDK is not supported on mobile browsers. Krisp recommends using Native iOS and Android SDKs for mobile applications.
  • Safari browser is not supported due to inconsistent performance across different versions caused by internal bugs in Safari proper.