delay estrimator: Enable looking for early reverberation
Enable by default the look for the first echo. Bug: webrtc:14205 Change-Id: Iae904679c1432f3a0766263907cf376903685b97 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278043 Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Commit-Queue: Lionel Koenig <lionelk@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38452}
This commit is contained in:
parent
b3b140d94b
commit
9707f579ae
@ -59,7 +59,7 @@ struct RTC_EXPORT EchoCanceller3Config {
|
|||||||
};
|
};
|
||||||
AlignmentMixing render_alignment_mixing = {false, true, 10000.f, true};
|
AlignmentMixing render_alignment_mixing = {false, true, 10000.f, true};
|
||||||
AlignmentMixing capture_alignment_mixing = {false, true, 10000.f, false};
|
AlignmentMixing capture_alignment_mixing = {false, true, 10000.f, false};
|
||||||
bool detect_pre_echo = false;
|
bool detect_pre_echo = true;
|
||||||
} delay;
|
} delay;
|
||||||
|
|
||||||
struct Filter {
|
struct Filter {
|
||||||
|
|||||||
@ -71,7 +71,6 @@ TEST(EchoPathDelayEstimator, DelayEstimation) {
|
|||||||
constexpr int kSampleRateHz = 48000;
|
constexpr int kSampleRateHz = 48000;
|
||||||
constexpr size_t kNumBands = NumBandsForRate(kSampleRateHz);
|
constexpr size_t kNumBands = NumBandsForRate(kSampleRateHz);
|
||||||
|
|
||||||
Random random_generator(42U);
|
|
||||||
Block render(kNumBands, kNumRenderChannels);
|
Block render(kNumBands, kNumRenderChannels);
|
||||||
Block capture(/*num_bands=*/1, kNumCaptureChannels);
|
Block capture(/*num_bands=*/1, kNumCaptureChannels);
|
||||||
ApmDataDumper data_dumper(0);
|
ApmDataDumper data_dumper(0);
|
||||||
@ -82,6 +81,9 @@ TEST(EchoPathDelayEstimator, DelayEstimation) {
|
|||||||
config.delay.down_sampling_factor = down_sampling_factor;
|
config.delay.down_sampling_factor = down_sampling_factor;
|
||||||
config.delay.num_filters = 10;
|
config.delay.num_filters = 10;
|
||||||
for (size_t delay_samples : {30, 64, 150, 200, 800, 4000}) {
|
for (size_t delay_samples : {30, 64, 150, 200, 800, 4000}) {
|
||||||
|
// Random generator become periodic after a while. To avoid issue in the
|
||||||
|
// unittest we ensure to seed it for every case.
|
||||||
|
Random random_generator(42U);
|
||||||
SCOPED_TRACE(ProduceDebugText(delay_samples, down_sampling_factor));
|
SCOPED_TRACE(ProduceDebugText(delay_samples, down_sampling_factor));
|
||||||
std::unique_ptr<RenderDelayBuffer> render_delay_buffer(
|
std::unique_ptr<RenderDelayBuffer> render_delay_buffer(
|
||||||
RenderDelayBuffer::Create(config, kSampleRateHz, kNumRenderChannels));
|
RenderDelayBuffer::Create(config, kSampleRateHz, kNumRenderChannels));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user