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
| Mode | What it does |
|---|---|
NoiseCancellationMode.off | No processing. This is the default. |
NoiseCancellationMode.standard | Removes noise such as fans, traffic and keyboards. It keeps every voice, including a TV or people nearby. |
NoiseCancellationMode.voiceFocus | Does 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');