From c8217885698efa5ac92ac00ffa3c5f6d56f165c0 Mon Sep 17 00:00:00 2001 From: Daniel Wolf Date: Mon, 21 Jan 2019 22:32:31 +0100 Subject: [PATCH] Discard very short segments of voice activity This prevents short flickers from false VAD positives. This fixes a regression recently introduced in 2bbad258c0. --- rhubarb/src/audio/voiceActivityDetection.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rhubarb/src/audio/voiceActivityDetection.cpp b/rhubarb/src/audio/voiceActivityDetection.cpp index 2e5ae17..d6f96f5 100644 --- a/rhubarb/src/audio/voiceActivityDetection.cpp +++ b/rhubarb/src/audio/voiceActivityDetection.cpp @@ -75,6 +75,14 @@ JoiningBoundedTimeline detectVoiceActivity( } } + // Discard very short segments of activity + const centiseconds minSegmentLength(5); + for (const auto& segment : activity) { + if (segment.getDuration() < minSegmentLength) { + activity.clear(segment.getTimeRange()); + } + } + logging::debugFormat( "Found {} sections of voice activity: {}", activity.size(),