From 3dd192eed2f706df7581b6655dc4b1843d4df4d8 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sat, 19 Aug 2023 21:21:39 -0400 Subject: add noise suppression --- src/audio/manager.hpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/audio/manager.hpp') diff --git a/src/audio/manager.hpp b/src/audio/manager.hpp index d37a281..80a2542 100644 --- a/src/audio/manager.hpp +++ b/src/audio/manager.hpp @@ -79,9 +79,13 @@ public: void SetVADMethod(VADMethod method); VADMethod GetVADMethod() const; +#ifdef WITH_RNNOISE float GetCurrentVADProbability() const; double GetRNNProbThreshold() const; void SetRNNProbThreshold(double value); + void SetSuppressNoise(bool value); + bool GetSuppressNoise() const; +#endif private: void OnCapturedPCM(const int16_t *pcm, ma_uint32 frames); @@ -95,7 +99,7 @@ private: bool CheckVADVoiceGate(); #ifdef WITH_RNNOISE - bool CheckVADRNNoise(const int16_t *pcm); + bool CheckVADRNNoise(const int16_t *pcm, float *denoised_left, float *denoised_right); void RNNoiseInitialize(); void RNNoiseUninitialize(); @@ -139,6 +143,7 @@ private: std::atomic m_capture_gain = 1.0; std::atomic m_prob_threshold = 0.5; std::atomic m_vad_prob = 0.0; + std::atomic m_enable_noise_suppression = false; std::unordered_set m_muted_ssrcs; std::unordered_map m_volume_ssrc; @@ -150,7 +155,7 @@ private: VADMethod m_vad_method; #ifdef WITH_RNNOISE - DenoiseState *m_rnnoise; + DenoiseState *m_rnnoise[2]; #endif std::atomic m_rtp_timestamp = 0; -- cgit v1.2.3