Skip to content
Media client

AI noise suppression

Remove background noise from the published microphone on the device.

Noise suppression removes background noise from the published microphone. It runs on the device using DeepFilterNet 3, and it's available on Android and iOS.

It adds about 30 ms of delay. The native library adds about 2.4 MB per ABI on Android, and about 2.3 MB on iOS.

Modes

ModeWhat it does
NoiseCancellationMode.offNo processing. This is the default.
NoiseCancellationMode.standardRemoves noise such as fans, traffic and keyboards. It keeps every voice, including a TV or people nearby.
NoiseCancellationMode.voiceFocusDoes the same, then lowers everything except the voice closest to the phone by 20 dB.

Check that it's supported

final supported = await VoxeraMediaClient.isNoiseCancellationSupported();

Turn it on

Set it when you create the track, or change it while the track is live:

const options = AudioCaptureOptions(
  noiseCancellation: NoiseCancellationMode.voiceFocus,
);
 
final track = await LocalAudioTrack.create(options);
await track.setNoiseCancellation(NoiseCancellationMode.standard);

See what it's doing

final stats = await VoxeraMediaClient.noiseCancellationStats();
debugPrint('$stats');