Skip to content

Noise suppression

Flore Harlé requested to merge feature/noise-suppression-new-master into master

Add RNNoise as external library. The audio is denoised thanks to the new MSfilter noise_suppressor in audiostream,
between the read decoder and the resampler. Several conditions must be satisfied to denoise:

  • RNNoise is built, by default for desktop only
  • the audio stream feature NOISE_SUPPRESSION is enabled
  • the noise suppression is enabled, with linphone_core_enable_noise_suppression() or with linphonerc file in "sound" section, noise_suppression=1
  • the audio stream is configured for 48000Hz in mono If the feature is enabled, the MSfilter noise_suppressor is created, but it is enabled only if the audio is correctly configured. If not, the filter is set in bypass mode. The audio configuration is tested each time the read resampler is configured.

The denoising is tested by the new suite "Noise suppression".

Two unstable tests will be fixed later, with similarity measurements that are robust to small shifts in time : "Noise suppression in audio stream" and "Noise suppression in audio stream with echo 400ms".

BC/public/external/rnnoise!2 (merged)

https://linphone.atlassian.net/browse/SDK-593

https://linphone.atlassian.net/wiki/x/BAAWNw

cherry pick from initial branch feature/noise-suppression : !5126 (closed)

Edited by Flore Harlé

Merge request reports