From 1ffadbc270e332916cfa7f8ef6b58989b14576ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 10 Dec 2022 21:02:02 +0200 Subject: [PATCH] audiorrnoise: Use correct value range for the samples The nnnoiseless crate wants all samples in the range [-32767,32767] instead of the [-1,1] range we're using for floating point samples. Scale before/after processing while (de)interleaving the samples. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/276 Part-of: --- audio/audiofx/src/audiornnoise/imp.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/audio/audiofx/src/audiornnoise/imp.rs b/audio/audiofx/src/audiornnoise/imp.rs index b238963f..d91f4ef4 100644 --- a/audio/audiofx/src/audiornnoise/imp.rs +++ b/audio/audiofx/src/audiornnoise/imp.rs @@ -92,7 +92,7 @@ impl State { let channel_index = index % channels; let channel_denoiser = &mut self.denoisers[channel_index]; let pos = index / channels; - channel_denoiser.frame_chunk[pos] = *item; + channel_denoiser.frame_chunk[pos] = *item * 32767.0; } for i in (in_frame.len() / channels)..(size / channels) { @@ -115,7 +115,7 @@ impl State { let channel_index = index % channels; let channel_denoiser = &self.denoisers[channel_index]; let pos = index / channels; - *item = channel_denoiser.out_chunk[pos]; + *item = channel_denoiser.out_chunk[pos] / 32767.0; } } }