Add private voice detection instance to replace public voice detector
This adds a second (!) VoiceDetection instance in APM, activated via webrtc::AudioProcessing::Config and which reports its values in the webrtc::AudioProcessingStats struct. The alternative is to reuse the existing instance, but that would require adding a proxy interface returned by AudioProcessing::voice_detection() to update the internal config of AudioProcessingImpl when calling voice_detection()->Enable(). Complexity-wise, no reasonable client will enable both interfaces simultaneously, so the footprint is negligible. Bug: webrtc:9947 Change-Id: I7d8e28b9bf06abab8f9c6822424bdb9d803b987d Reviewed-on: https://webrtc-review.googlesource.com/c/115243 Commit-Queue: Sam Zackrisson <saza@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26101}
This commit is contained in:
committed by
Commit Bot
parent
d0fce0b1ec
commit
4db667be74
@ -32,6 +32,12 @@ struct RTC_EXPORT AudioProcessingStats {
|
||||
// Only reported if level estimation is enabled in AudioProcessing::Config.
|
||||
absl::optional<int> output_rms_dbfs;
|
||||
|
||||
// True if voice is detected in the last capture frame, after processing.
|
||||
// It is conservative in flagging audio as speech, with low likelihood of
|
||||
// incorrectly flagging a frame as voice.
|
||||
// Only reported if voice detection is enabled in AudioProcessing::Config.
|
||||
absl::optional<bool> voice_detected;
|
||||
|
||||
// AEC Statistics.
|
||||
// ERL = 10log_10(P_far / P_echo)
|
||||
absl::optional<double> echo_return_loss;
|
||||
|
||||
Reference in New Issue
Block a user