Skip to content
For WebRTC, LiveKit and AI voice agents

AI noise cancellation SDK for real-time apps

Remove background noise and room echo in real time, entirely on device, for privacy and speed. One SDK for web, iOS, Android, Windows, macOS and Linux.

No credit card required · Integration help from our engineers

Latency
Real-time
Optimized for WebRTC, live streaming and voice agents
Platforms
7
Web, iOS, Android, Windows, macOS, Linux, Flutter
Sample rates
16–48 kHz
Native 16, 32, 44.1 and 48 kHz
Processing
On device
Audio never leaves the user's device

Removes what your users should not hear

Intelligent noise removal for everyday sounds, plus dereverberation that takes out the hollow “empty room” effect and restores a natural, warm voice.

  • Keyboard clicks
  • Computer fans
  • Background hum
  • Street noise
  • Sirens
  • Barking dogs
  • Crying babies
  • Room echo

Pick the right model for your hardware

Three presets trade CPU cost for quality, and you can switch presets at runtime.

Preset Sample rates When to use
speed 16 kHz Recommended. Good quality at a fraction of the CPU cost; the most headroom on phones and busy machines.
balanced 32, 44.1, 48 kHz Higher quality, noticeably heavier. Denoise power is adjustable at runtime.
quality 16 kHz Highest quality and heaviest; uses the ONNX runtime.

Minimal API, any platform

Create the SDK with your Customer ID, pass the microphone stream or PCM frames, and enable noise suppression.

Works with

  • WebRTC
  • LiveKit

More capabilities in the same SDK — Studio Sound, Voice Changer and file cleanup: Audio Effects SDK.

import { atsvb } from 'audio-effects-sdk';

const sdk = new atsvb('YOUR_CUSTOMER_ID');
sdk.preload();

sdk.onReady = () => {
  sdk.useStream(micStream);
  sdk.run();
  audio.srcObject = sdk.getStream();
};
val audioSdkFactory = AudioEffectsSDK.getAudioSdkFactory(context)

audioSdkFactory.auth(yourCustomerId) { licenseStatus ->
    if (licenseStatus == LicenseStatus.ACTIVE) {
        val pipeline = audioSdkFactory.createAudioPipeline(PipelineConfig())
        pipeline.enableNoiseSuppression(true)
        val result = pipeline.process(yourAudioData)
    }
}
import AudioEffectsSDK

let sdkFactory = Factory()
let authResult = try await sdkFactory.auth(customerID: "CUSTOMER_ID")
guard authResult.status == .active else { return }

let config = PipelineConfig(type: .pcmSignedInt16, sampleRate: 48000)
let pipeline = try sdkFactory.newPipeline(config)
pipeline.noiseSuppressionEnabled = true

Platforms and packages

AI Noise Cancellation SDK platforms
Platform Requirements Install Links
Web Current Chrome, Safari, Firefox, Edge; WebAssembly npm i audio-effects-sdk
iOS iOS 14+ Swift Package
Android Android 8.1 (API 27)+ ai.effectssdk:audio (Maven)
Windows Windows 10+, x64 and x86 C++ SDK
macOS macOS 11.0+ C++ SDK
Linux x86_64, glibc 2.35+ (Ubuntu 22.04+) C++ SDK
Flutter Flutter Web with flutter_webrtc Flutter plugin

Questions

Pricing details are on the pricing page.

Does audio leave the user's device?

No. All processing runs on the end-user device. The SDK only registers its activation (a session) for billing; we do not collect audio or user data.

Which preset should I use?

Start with speed: good quality at a fraction of the CPU cost, with the most headroom on phones and busy machines. Use balanced when you need 32–48 kHz audio or adjustable denoise power, and quality when CPU budget allows.

Which sample rates are supported?

The SDK supports 16, 32, 44.1 and 48 kHz. The balanced preset works at 32, 44.1 and 48 kHz; speed and quality run at 16 kHz.

Does it work with WebRTC and LiveKit?

Yes. On the web the SDK takes a microphone MediaStream and returns a processed one, so it fits any WebRTC pipeline, including LiveKit.

Can it clean up recorded files?

Yes. Audio files (MP3, WAV, M4A and more) and the audio track of video files (MP4, MOV, AVI and more) can be processed locally, without server uploads.

How is it priced?

Like the Video SDK: a free trial in the Developer Portal, then pay as you go from $50 based on sessions. One session is one SDK initialization, however long it lasts.

Still have questions?

Tell us about your product and platforms. Our team will get back to you and can help with the integration.

Ready to build? Open the Developer Portal and start a free trial.

Protected by reCAPTCHA. See our privacy policy.