文件最后提交记录最后更新时间
Format /modules git ls-files | grep -e "\(\.h\|\.cc\)$" | grep -e "^modules/" | xargs clang-format -i ; git cl format after landing: add to .git-blame-ignore-revs Bug: webrtc:15082 Change-Id: I2c3cd28740062794f8c10e39d8406aadb9e9a35a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301620 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Auto-Submit: Jared Siskin <jtsiskin@meta.com> Cr-Commit-Position: refs/heads/main@{#39901} 3 年前
Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests - Reset the tested metrics to avoid interactions between tests that depend on the execution order - Address the comment in [1] by adding a function to log the same histogram in two different places [1] https://chromium-review.googlesource.com/c/chromium/src/+/4087426/4/tools/metrics/histograms/metadata/web_rtc/histograms.xml#179 Bug: webrtc:7494 Change-Id: Ia4d339b03c8078eb63626c91579f8a9547f087f7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287681 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38873} 3 年前
Fix APM AGC2 initialization: pass the correct number of channels Pass the correct number of channels needed by the AGC2 input volume controller. This change doesn't affect the adaptive digital controller which reads the number of channel from the passed audio buffer instance for each processed frame. Note that the AdaptiveDigitalGainController::Initialize() impl was removed in [1], but that CL didn't remove the declaration (done in this CL). [1] https://webrtc-review.googlesource.com/c/src/+/287222/5/modules/audio_processing/agc2/adaptive_digital_gain_controller.cc#105 Bug: webrtc:7494 Change-Id: I07369ab4025a251b25c716cf618e4222fdb60fc8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287320 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38863} 3 年前
Fix APM AGC2 initialization: pass the correct number of channels Pass the correct number of channels needed by the AGC2 input volume controller. This change doesn't affect the adaptive digital controller which reads the number of channel from the passed audio buffer instance for each processed frame. Note that the AdaptiveDigitalGainController::Initialize() impl was removed in [1], but that CL didn't remove the declaration (done in this CL). [1] https://webrtc-review.googlesource.com/c/src/+/287222/5/modules/audio_processing/agc2/adaptive_digital_gain_controller.cc#105 Bug: webrtc:7494 Change-Id: I07369ab4025a251b25c716cf618e4222fdb60fc8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287320 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38863} 3 年前
Fix APM AGC2 initialization: pass the correct number of channels Pass the correct number of channels needed by the AGC2 input volume controller. This change doesn't affect the adaptive digital controller which reads the number of channel from the passed audio buffer instance for each processed frame. Note that the AdaptiveDigitalGainController::Initialize() impl was removed in [1], but that CL didn't remove the declaration (done in this CL). [1] https://webrtc-review.googlesource.com/c/src/+/287222/5/modules/audio_processing/agc2/adaptive_digital_gain_controller.cc#105 Bug: webrtc:7494 Change-Id: I07369ab4025a251b25c716cf618e4222fdb60fc8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287320 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38863} 3 年前
AGC2 adaptive digital controller config clean-up - Remove dry-run option - Hard-code adjacent_speech_frames_threshold and vad_reset_period_ms - Expose initial_gain_db via field trial Tested: adaptive digital controller bit-exactness verified Bug: webrtc:7494 Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38862} 3 年前
Use sinf instead of std::sinf to improve libstdc++ compatibility libstdc++ does not define std::sinf in <cmath>. See also: https://stackoverflow.com/a/56420862. BUG=b:235200394 Change-Id: Idfb80ac6f54fbf57a20425391b0c4165b7945b2f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306681 Commit-Queue: Li-Yu Yu <aaronyu@google.com> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40183} 2 年前
AGC2 limiter: faster recovery New limiter tuning to more quickly go back to 0 dB after the limiter kicks in and the input peak level goes back to normal. Bug: webrtc:7494 Change-Id: I1050957ca4caf12c4562b899b16c306957dce169 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237701 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35384} 4 年前
AGC2: retuning and large refactoring - Bug fix: the desired initial gain quickly dropped to 0 dB hence starting a call with a too low level - New tuning to make AGC2 more robust to VAD mistakes - Smarter max gain increase speed: to deal with an increased threshold of adjacent speech frames, the gain applier temporarily allows a faster gain increase to deal with a longer time spent waiting for enough speech frames in a row to be observed - Saturation protector isolated from AdaptiveModeLevelEstimator to simplify the unit tests for the latter (non bit-exact change) - AGC2 adaptive digital config: unnecessary params deprecated - Code readability improvements - Data dumps clean-up and better naming Bug: webrtc:7494 Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33736} 5 年前
Optimize the AGC2 Biquad filter. Bug: None Change-Id: Idde77efd209be1687405d3f256ca52e2da640c1e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264561 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Christian Schuldt <cschuldt@google.com> Cr-Commit-Position: refs/heads/main@{#37278} 3 年前
BiQuadFilter: API improvements Bug: webrtc:7494 Change-Id: If0270cddeb46fa53c0fbb385c85e48f28f9e1a5c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/236342 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35274} 4 年前
BiQuadFilter: API improvements Bug: webrtc:7494 Change-Id: If0270cddeb46fa53c0fbb385c85e48f28f9e1a5c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/236342 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35274} 4 年前
InputVolumeController: readability improvements - use the new naming convention 'input volume' - fix Yoda-style expressions in the unit tests - clarify how the gain map values are generated Bug: webrtc:7494 Change-Id: I4d6ee897a93cdefa6735733b053c57326d01a528 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285467 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38795} 3 年前
ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 Bug: webrtc:7494 Change-Id: If88795fe34a73faa267a9c0bd5250e36455d4d81 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277741 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38296} 3 年前
ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 Bug: webrtc:7494 Change-Id: If88795fe34a73faa267a9c0bd5250e36455d4d81 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277741 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38296} 3 年前
ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 Bug: webrtc:7494 Change-Id: If88795fe34a73faa267a9c0bd5250e36455d4d81 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277741 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38296} 3 年前
ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 Bug: webrtc:7494 Change-Id: If88795fe34a73faa267a9c0bd5250e36455d4d81 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277741 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38296} 3 年前
ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 Bug: webrtc:7494 Change-Id: If88795fe34a73faa267a9c0bd5250e36455d4d81 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277741 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38296} 3 年前
Use backticks not vertical bars to denote variables in comments for /modules/audio_processing Bug: webrtc:12338 Change-Id: I85bff694dd2ead83c939c4d1945eff82e1296001 No-Presubmit: True Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227161 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34690} 4 年前
Use backticks not vertical bars to denote variables in comments for /modules/audio_processing Bug: webrtc:12338 Change-Id: I85bff694dd2ead83c939c4d1945eff82e1296001 No-Presubmit: True Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227161 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34690} 4 年前
RNN VAD: FC layer simplified The implementations for the fully connected layer can be simlpified by using VectorMath:DotProduct(). In this way, it is also possible to remove (nearly) duplicated SIMD code, reduce the binary size and more easily maintain the code. This CL also forces unoptimized code for the output layer of the VAD, which is a FC 24x1 layer. A slight improvement of the realtime has been measured (delta ~ +5x). Bug: webrtc:10480 Change-Id: Iee93bd59f7905ebf96275dbbfeb3c921baf4e8db Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195580 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32806} 5 年前
RNN VAD: FC layer simplified The implementations for the fully connected layer can be simlpified by using VectorMath:DotProduct(). In this way, it is also possible to remove (nearly) duplicated SIMD code, reduce the binary size and more easily maintain the code. This CL also forces unoptimized code for the output layer of the VAD, which is a FC 24x1 layer. A slight improvement of the realtime has been measured (delta ~ +5x). Bug: webrtc:10480 Change-Id: Iee93bd59f7905ebf96275dbbfeb3c921baf4e8db Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195580 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32806} 5 年前
AGC2 limiter: faster recovery New limiter tuning to more quickly go back to 0 dB after the limiter kicks in and the input peak level goes back to normal. Bug: webrtc:7494 Change-Id: I1050957ca4caf12c4562b899b16c306957dce169 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237701 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35384} 4 年前
Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ Bug: webrtc:13555, webrtc:13082 Change-Id: I2c2cbcbd918f0cfa970c1a964893220ba11d4b41 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247960 Reviewed-by: Artem Titov <titovartem@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com> Cr-Commit-Position: refs/heads/main@{#35771} 4 年前
AGC2: retuning and large refactoring - Bug fix: the desired initial gain quickly dropped to 0 dB hence starting a call with a too low level - New tuning to make AGC2 more robust to VAD mistakes - Smarter max gain increase speed: to deal with an increased threshold of adjacent speech frames, the gain applier temporarily allows a faster gain increase to deal with a longer time spent waiting for enough speech frames in a row to be observed - Saturation protector isolated from AdaptiveModeLevelEstimator to simplify the unit tests for the latter (non bit-exact change) - AGC2 adaptive digital config: unnecessary params deprecated - Code readability improvements - Data dumps clean-up and better naming Bug: webrtc:7494 Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33736} 5 年前
AGC2: GainController::ApplyConfig removed When AudioProcessingImpl::ApplyConfig() is called, AGC2 is initialized and then the new config is applied. That is error prone and for example breaks bit exactness in [1]. Changes: - GainController2 must be created by passing configuration, sample rate and number of channels - GainController2::ApplyConfig() removed Bit exactness verified with audioproc_f on a collection of AEC dumps and Wav files (42 recordings in total). [1] https://webrtc-review.googlesource.com/c/src/+/234587. Bug: webrtc:7494 Change-Id: I251e03603394a4fc8769b9b5c197a157893676a9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235060 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35206} 4 年前
AudioFrameView: size_t -> int Bug: webrtc:7494 Change-Id: I46b1328f3d7da721e144cc3752ed4f458084cf62 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234522 Reviewed-by: Sam Zackrisson <saza@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35163} 4 年前
Reformat the WebRTC code base Running clang-format with chromium's style guide. The goal is n-fold: * providing consistency and readability (that's what code guidelines are for) * preventing noise with presubmit checks and git cl format * building on the previous point: making it easier to automatically fix format issues * you name it Please consider using git-hyper-blame to ignore this commit. Bug: webrtc:9340 Change-Id: I694567c4cdf8cee2860958cfe82bfaf25848bb87 Reviewed-on: https://webrtc-review.googlesource.com/81185 Reviewed-by: Patrik Höglund <phoglund@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23660}7 年前
InputVolumeController: readability improvements - use the new naming convention 'input volume' - fix Yoda-style expressions in the unit tests - clarify how the gain map values are generated Bug: webrtc:7494 Change-Id: I4d6ee897a93cdefa6735733b053c57326d01a528 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285467 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38795} 3 年前
Unify AGC2 experiment field trials into one In order to experiment with AGC2 and TS at the same time, 3 field trials are removed and merged into WebRTC-Audio-GainController2, which is existing. New parameters for the WebRTC-Audio-GainController2 field trial: - switch_to_agc2: true by default; when true, the gain control switches to AGC2 (both for the input volume and for the adaptive digital gain); - min_input_volume: minimum input volume enforced by the input volume controller when the applied input volume is not zero; - disallow_transient_suppressor_usage: when true, TS is never created. Removed field trials: - WebRTC-Audio-Agc2-MinInputVolume: now a parameter of WebRTC-Audio-GainController2; - WebRTC-ApmTransientSuppressorKillSwitch: now a parameter of WebRTC-Audio-GainController2; - WebRTC-Audio-TransientSuppressorVadMode: automatically inferred from WebRTC-Audio-GainController2. Bug: webrtc:7494 Change-Id: I452798c0862d71f9adae6d163fe841df05ca44d6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287861 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38890} 3 年前
Retune AGC2 input volume controller speech ratio threshold Based on offline testing; needed to allow input volume adaptations more frequently. Note that if the estimated speech level falls in the target range, the recommended input volume won't change and hence the new lower threshold won't necessarily increase the number of adjustments. Bug: webrtc:7494 Change-Id: Iabb501c188da238ea7b7137175bcfe09239c90a2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291110 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39161} 3 年前
Add generic input volume controller test for both AGC1 and AGC2 Make sure that the input volume controller implementations exhibit the adaptive behavior regardless of the sample rate and the number of channels. The newly added tests check that: - a downward adjustment takes place with clipping input - an upward adjustment takes place with a too low speech level - a downward adjustment takes place with a too high speech level Bug: webrtc:14761 Change-Id: I1795e74c5f219e15107e928ebaca2bfa75214526 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287301 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38930} 3 年前
Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests - Reset the tested metrics to avoid interactions between tests that depend on the execution order - Address the comment in [1] by adding a function to log the same histogram in two different places [1] https://chromium-review.googlesource.com/c/chromium/src/+/4087426/4/tools/metrics/histograms/metadata/web_rtc/histograms.xml#179 Bug: webrtc:7494 Change-Id: Ia4d339b03c8078eb63626c91579f8a9547f087f7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287681 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38873} 3 年前
Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests - Reset the tested metrics to avoid interactions between tests that depend on the execution order - Address the comment in [1] by adding a function to log the same histogram in two different places [1] https://chromium-review.googlesource.com/c/chromium/src/+/4087426/4/tools/metrics/histograms/metadata/web_rtc/histograms.xml#179 Bug: webrtc:7494 Change-Id: Ia4d339b03c8078eb63626c91579f8a9547f087f7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287681 Reviewed-by: Hanna Silen <silen@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38873} 3 年前
InputVolumeStatsReporter: replace WebRTC.Audio.AgcSetLevel The WebRTC.Audio.AgcSetLevel name is misleading and the histogram is logged for each channel - but the input volume is one for all the channels. Changes: - WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget is the new name - Now available not only in AgcManagerDirect (AGC1), but also in InputVolumeController (AGC2) - Logged once and not for each channel - Also add the following AGC implementation agnostic histograms - WebRTC.Audio.Apm.AppliedInputVolume.OnChange - WebRTC.Audio.Apm.RecommendedInputVolume.OnChange - Fix SpeechSamplesReader::Feed() in the unit tests, which did not set the applied input volume and apply the recommended one The histogram definitions are updated in crrev.com/c/4087426. Bug: webrtc:7494 Change-Id: I03c5dfb08165805215ca2c4bb6509b16de8d68da Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287081 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38852} 3 年前
Adopt absl::string_view in modules/audio_processing/ Bug: webrtc:13579 Change-Id: Idb05a64cfd16aed68d40cd427a6b516caa5e2077 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269387 Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37800} 3 年前
Adopt absl::string_view in modules/audio_processing/ Bug: webrtc:13579 Change-Id: Idb05a64cfd16aed68d40cd427a6b516caa5e2077 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269387 Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37800} 3 年前
AGC2: retuning and large refactoring - Bug fix: the desired initial gain quickly dropped to 0 dB hence starting a call with a too low level - New tuning to make AGC2 more robust to VAD mistakes - Smarter max gain increase speed: to deal with an increased threshold of adjacent speech frames, the gain applier temporarily allows a faster gain increase to deal with a longer time spent waiting for enough speech frames in a row to be observed - Saturation protector isolated from AdaptiveModeLevelEstimator to simplify the unit tests for the latter (non bit-exact change) - AGC2 adaptive digital config: unnecessary params deprecated - Code readability improvements - Data dumps clean-up and better naming Bug: webrtc:7494 Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33736} 5 年前
Adopt absl::string_view in modules/audio_processing/ Bug: webrtc:13579 Change-Id: Idb05a64cfd16aed68d40cd427a6b516caa5e2077 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269387 Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37800} 3 年前
Adopt absl::string_view in modules/audio_processing/ Bug: webrtc:13579 Change-Id: Idb05a64cfd16aed68d40cd427a6b516caa5e2077 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269387 Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37800} 3 年前
Use backticks not vertical bars to denote variables in comments for /modules/audio_processing Bug: webrtc:12338 Change-Id: I85bff694dd2ead83c939c4d1945eff82e1296001 No-Presubmit: True Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227161 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34690} 4 年前
AGC2 Limiter class renamed. Limiter has been renamed to LimiterDbGainCurve, which is a more correct name and will allow in a follow-up CL to reuse the Limiter name for GainCurveApplier. This is done to allow to use the limiter without instancing the fixed digital gain controller and then to fix an AGC2 issue (namely, fixed gain applied after the adaptive one). Bug: webrtc:7494 Change-Id: Icd7050e3e51b832bfbf35e5cc61109215c5b1ca6 Reviewed-on: https://webrtc-review.googlesource.com/c/106901 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Alex Loiko <aleloi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25322}7 年前
AGC2 Limiter class renamed. Limiter has been renamed to LimiterDbGainCurve, which is a more correct name and will allow in a follow-up CL to reuse the Limiter name for GainCurveApplier. This is done to allow to use the limiter without instancing the fixed digital gain controller and then to fix an AGC2 issue (namely, fixed gain applied after the adaptive one). Bug: webrtc:7494 Change-Id: Icd7050e3e51b832bfbf35e5cc61109215c5b1ca6 Reviewed-on: https://webrtc-review.googlesource.com/c/106901 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Alex Loiko <aleloi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25322}7 年前
AGC2: renaming GainCurveApplier to Limiter. Bug: webrtc:7494 Change-Id: I3dcfb864fd63dbf3f3e7345f8f4cac6c86987e8b Reviewed-on: https://webrtc-review.googlesource.com/c/108581 Reviewed-by: Alex Loiko <aleloi@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25436}7 年前
AGC2 NoiseLevelEstimator: DCHECK pointer Bug: webrtc:7494 Change-Id: Iaac36bade3da4cfa55e8de99cfd3836df75dffa3 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286423 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38828} 3 年前
AGC2: removed unused noise estimator implementation This CL also includes the following changes: - AudioProcessing::Config::GainController2::noise_estimator deprecated - EnergyToDbfs() optimized by removing unnecessary sqrt - Unit test minor fix, incorrect type was used Bug: webrtc:7494 Change-Id: I88a6672d6f7cd03fcf6a3031883522d256880140 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230940 Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#34893} 4 年前
AGC2: removed unused noise estimator implementation This CL also includes the following changes: - AudioProcessing::Config::GainController2::noise_estimator deprecated - EnergyToDbfs() optimized by removing unnecessary sqrt - Unit test minor fix, incorrect type was used Bug: webrtc:7494 Change-Id: I88a6672d6f7cd03fcf6a3031883522d256880140 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230940 Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#34893} 4 年前
AGC2: use only one headroom parameter Instead of using two different headroom parameters, namely kHeadroomDbfs and kSaturationProtectorExtraHeadroomDb, only use the former that now also accounts for the deleted one - i.e., it equals the sum of the two headrooms. In this way, tuning AGC2 will be easier. This CL does *not* change the behavior of the AGC2 adaptive digital controller - bitexactness verified with audioproc_f on a collection of AEC dumps and Wav files (42 recordings in total). The unit tests changes in agc2/saturation_protector_unittest.cc are required since extra_headroom_db is removed and the changes in agc2/adaptive_digital_gain_applier_unittest.cc are required because AdaptiveDigitalGainApplier depends on kHeadroomDbfs which has been updated as stated above. Bug: webrtc:7494 Change-Id: I0a2a710bbede0caa53938090a004d185fdefaeb9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232905 Reviewed-by: Per Åhgren <peah@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35109} 4 年前
AGC2: use only one headroom parameter Instead of using two different headroom parameters, namely kHeadroomDbfs and kSaturationProtectorExtraHeadroomDb, only use the former that now also accounts for the deleted one - i.e., it equals the sum of the two headrooms. In this way, tuning AGC2 will be easier. This CL does *not* change the behavior of the AGC2 adaptive digital controller - bitexactness verified with audioproc_f on a collection of AEC dumps and Wav files (42 recordings in total). The unit tests changes in agc2/saturation_protector_unittest.cc are required since extra_headroom_db is removed and the changes in agc2/adaptive_digital_gain_applier_unittest.cc are required because AdaptiveDigitalGainApplier depends on kHeadroomDbfs which has been updated as stated above. Bug: webrtc:7494 Change-Id: I0a2a710bbede0caa53938090a004d185fdefaeb9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232905 Reviewed-by: Per Åhgren <peah@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35109} 4 年前
AGC2: retuning and large refactoring - Bug fix: the desired initial gain quickly dropped to 0 dB hence starting a call with a too low level - New tuning to make AGC2 more robust to VAD mistakes - Smarter max gain increase speed: to deal with an increased threshold of adjacent speech frames, the gain applier temporarily allows a faster gain increase to deal with a longer time spent waiting for enough speech frames in a row to be observed - Saturation protector isolated from AdaptiveModeLevelEstimator to simplify the unit tests for the latter (non bit-exact change) - AGC2 adaptive digital config: unnecessary params deprecated - Code readability improvements - Data dumps clean-up and better naming Bug: webrtc:7494 Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33736} 5 年前
AGC2: retuning and large refactoring - Bug fix: the desired initial gain quickly dropped to 0 dB hence starting a call with a too low level - New tuning to make AGC2 more robust to VAD mistakes - Smarter max gain increase speed: to deal with an increased threshold of adjacent speech frames, the gain applier temporarily allows a faster gain increase to deal with a longer time spent waiting for enough speech frames in a row to be observed - Saturation protector isolated from AdaptiveModeLevelEstimator to simplify the unit tests for the latter (non bit-exact change) - AGC2 adaptive digital config: unnecessary params deprecated - Code readability improvements - Data dumps clean-up and better naming Bug: webrtc:7494 Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33736} 5 年前
AGC2: retuning and large refactoring - Bug fix: the desired initial gain quickly dropped to 0 dB hence starting a call with a too low level - New tuning to make AGC2 more robust to VAD mistakes - Smarter max gain increase speed: to deal with an increased threshold of adjacent speech frames, the gain applier temporarily allows a faster gain increase to deal with a longer time spent waiting for enough speech frames in a row to be observed - Saturation protector isolated from AdaptiveModeLevelEstimator to simplify the unit tests for the latter (non bit-exact change) - AGC2 adaptive digital config: unnecessary params deprecated - Code readability improvements - Data dumps clean-up and better naming Bug: webrtc:7494 Change-Id: I4e36059bdf2566cc2a7e1a7e95b7430ba9ae9844 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215140 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33736} 5 年前
AGC2: use only one headroom parameter Instead of using two different headroom parameters, namely kHeadroomDbfs and kSaturationProtectorExtraHeadroomDb, only use the former that now also accounts for the deleted one - i.e., it equals the sum of the two headrooms. In this way, tuning AGC2 will be easier. This CL does *not* change the behavior of the AGC2 adaptive digital controller - bitexactness verified with audioproc_f on a collection of AEC dumps and Wav files (42 recordings in total). The unit tests changes in agc2/saturation_protector_unittest.cc are required since extra_headroom_db is removed and the changes in agc2/adaptive_digital_gain_applier_unittest.cc are required because AdaptiveDigitalGainApplier depends on kHeadroomDbfs which has been updated as stated above. Bug: webrtc:7494 Change-Id: I0a2a710bbede0caa53938090a004d185fdefaeb9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232905 Reviewed-by: Per Åhgren <peah@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35109} 4 年前
AGC2 adaptive digital controller config clean-up - Remove dry-run option - Hard-code adjacent_speech_frames_threshold and vad_reset_period_ms - Expose initial_gain_db via field trial Tested: adaptive digital controller bit-exactness verified Bug: webrtc:7494 Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38862} 3 年前
AGC2 adaptive digital controller config clean-up - Remove dry-run option - Hard-code adjacent_speech_frames_threshold and vad_reset_period_ms - Expose initial_gain_db via field trial Tested: adaptive digital controller bit-exactness verified Bug: webrtc:7494 Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38862} 3 年前
AGC2 adaptive digital controller config clean-up - Remove dry-run option - Hard-code adjacent_speech_frames_threshold and vad_reset_period_ms - Expose initial_gain_db via field trial Tested: adaptive digital controller bit-exactness verified Bug: webrtc:7494 Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38862} 3 年前
Add SpeechProbabilityBuffer Add a buffer class to store speech probabilities and to estimate speech activity. Follows the implementation of speech activity computation in LoudnessHistogram but uses floats for computations. Bug: webrtc:7494 Change-Id: I6ee72ec52919904ea4e1fbe51d61993aa7813c9f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277801 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38309} 3 年前
Add SpeechProbabilityBuffer Add a buffer class to store speech probabilities and to estimate speech activity. Follows the implementation of speech activity computation in LoudnessHistogram but uses floats for computations. Bug: webrtc:7494 Change-Id: I6ee72ec52919904ea4e1fbe51d61993aa7813c9f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277801 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38309} 3 年前
Add SpeechProbabilityBuffer Add a buffer class to store speech probabilities and to estimate speech activity. Follows the implementation of speech activity computation in LoudnessHistogram but uses floats for computations. Bug: webrtc:7494 Change-Id: I6ee72ec52919904ea4e1fbe51d61993aa7813c9f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277801 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38309} 3 年前
AGC2 adaptive digital controller config clean-up - Remove dry-run option - Hard-code adjacent_speech_frames_threshold and vad_reset_period_ms - Expose initial_gain_db via field trial Tested: adaptive digital controller bit-exactness verified Bug: webrtc:7494 Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38862} 3 年前
AGC2 adaptive digital controller config clean-up - Remove dry-run option - Hard-code adjacent_speech_frames_threshold and vad_reset_period_ms - Expose initial_gain_db via field trial Tested: adaptive digital controller bit-exactness verified Bug: webrtc:7494 Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38862} 3 年前
Replace "(const override)" with "(const, override)" in GMOCKs Just applied a short sed script. See bug description for the motiviation for this change. This is the command that was used to generate the changes: $ find . -type f \( -iname '*.cc' -o -iname '*.h' \) -print0 | \ xargs -0 sed -i -e 's/(const override)/(const, override)/' Bug: webrtc:13090 Change-Id: Iec7d280f9d55263a972dbb3bd644ebfcd2eb38cf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249088 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35801} 4 年前
Add FixedGainController and move GainController2 in APM. The FixedGainController (FGC) applies a fixed gain. It will also control the limiter. The limiter will be landed over the next several CLs. The GainController2 is a 'private submodule' of APM. It will control the new automatic gain controller (AGC). It controls the AGC through Initialize() and ApplyConfig(). This CL contains * build changes to make modules/audio_processing/agc2 an independent target * a new MutableFloatAudioFrame which is the audio interface between AGC2 and APM * move of the fixed gain application from GainController2 to FixedGainController. If you are a googler, there is more information in this doc: https://docs.google.com/document/d/1RV2Doet3MZtUPAHVva61Vjo20iyd1bmmm3aR8znWpzo/edit# Bug: webrtc:7949 Change-Id: Ief95cbbce83c3aafe54638fd2ab881c9fb8bdc3a Reviewed-on: https://webrtc-review.googlesource.com/50440 Commit-Queue: Alex Loiko <aleloi@webrtc.org> Reviewed-by: Oskar Sundbom <ossu@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22046}8 年前
AGC2-fixed-digital: Level Estimator This CL adds the Level Estimator of the new gain controller. The Level Estimator divides a 10ms input frame in kSubFramesInFrame=20 sub frames. We take the maximal sample values in every sub frame. We then apply attack/decay smoothing. This is the final level estimate. The results will be used with InterpolatedGainCurve (see this CL https://webrtc-review.googlesource.com/c/src/+/51920). For every level estimate value, we look up a gain with InterpolatedGainCurve::LookUpGainToApply. This gain is then applied to the signal. Bug: webrtc:7949 Change-Id: I2b4b3894a3e945d3dd916ce516c79abacb2b18b1 Reviewed-on: https://webrtc-review.googlesource.com/52381 Reviewed-by: Sam Zackrisson <saza@webrtc.org> Commit-Queue: Alex Loiko <aleloi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22054}8 年前