From dc92fef708b668cab31b4a39f425a126e620c2cb Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sun, 23 Jul 2023 01:44:36 -0400 Subject: slight refactor, show rnnoise vad prob in meter when selected --- src/audio/manager.cpp | 12 ++++++++++-- src/audio/manager.hpp | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'src/audio') diff --git a/src/audio/manager.cpp b/src/audio/manager.cpp index bdb7922..f9250c1 100644 --- a/src/audio/manager.cpp +++ b/src/audio/manager.cpp @@ -487,8 +487,8 @@ bool AudioManager::CheckVADRNNoise(const int16_t *pcm) { for (size_t i = 0; i < 480; i++) { rnnoise_input[i] = static_cast(pcm[i * 2]); } - float vad_prob = rnnoise_process_frame(m_rnnoise, denoised, rnnoise_input); - return vad_prob > m_prob_threshold; + m_vad_prob = rnnoise_process_frame(m_rnnoise, denoised, rnnoise_input); + return m_vad_prob > m_prob_threshold; } void AudioManager::RNNoiseInitialize() { @@ -564,6 +564,14 @@ void AudioManager::SetVADMethod(VADMethod method) { #endif } +AudioManager::VADMethod AudioManager::GetVADMethod() const { + return m_vad_method; +} + +float AudioManager::GetCurrentVADProbability() const { + return m_vad_prob; +} + AudioManager::type_signal_opus_packet AudioManager::signal_opus_packet() { return m_signal_opus_packet; } diff --git a/src/audio/manager.hpp b/src/audio/manager.hpp index 2e7d087..a39532b 100644 --- a/src/audio/manager.hpp +++ b/src/audio/manager.hpp @@ -77,6 +77,8 @@ public: void SetVADMethod(const std::string &method); void SetVADMethod(VADMethod method); + VADMethod GetVADMethod() const; + float GetCurrentVADProbability() const; private: void OnCapturedPCM(const int16_t *pcm, ma_uint32 frames); @@ -129,6 +131,7 @@ private: std::atomic m_capture_gate = 0.0; std::atomic m_capture_gain = 1.0; std::atomic m_prob_threshold = 0.5; + std::atomic m_vad_prob = 0.0; std::unordered_set m_muted_ssrcs; std::unordered_map m_volume_ssrc; -- cgit v1.2.3