| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 400 EXPECT_NEAR(kTestNonZeroVarLambdaTop[i], sols[i], kMaxTestError); | 400 EXPECT_NEAR(kTestNonZeroVarLambdaTop[i], sols[i], kMaxTestError); |
| 401 } | 401 } |
| 402 lambda = -1.f; | 402 lambda = -1.f; |
| 403 enh_->SolveForGainsGivenLambda(lambda, enh_->start_freq_, sols.data()); | 403 enh_->SolveForGainsGivenLambda(lambda, enh_->start_freq_, sols.data()); |
| 404 for (size_t i = 0; i < enh_->bank_size_; i++) { | 404 for (size_t i = 0; i < enh_->bank_size_; i++) { |
| 405 EXPECT_NEAR(kTestNonZeroVarLambdaTop[i], sols[i], kMaxTestError); | 405 EXPECT_NEAR(kTestNonZeroVarLambdaTop[i], sols[i], kMaxTestError); |
| 406 } | 406 } |
| 407 } | 407 } |
| 408 | 408 |
| 409 TEST_F(IntelligibilityEnhancerTest, TestNoiseGainHasExpectedResult) { | 409 TEST_F(IntelligibilityEnhancerTest, TestNoiseGainHasExpectedResult) { |
| 410 const int kGainDB = 6; | 410 const float kGain = 2.f; |
| 411 const float kGainFactor = std::pow(10.f, kGainDB / 20.f); | |
| 412 const float kTolerance = 0.007f; | 411 const float kTolerance = 0.007f; |
| 413 std::vector<float> noise(kNumNoiseBins); | 412 std::vector<float> noise(kNumNoiseBins); |
| 414 std::vector<float> noise_psd(kNumNoiseBins); | 413 std::vector<float> noise_psd(kNumNoiseBins); |
| 415 std::generate(noise.begin(), noise.end(), float_rand); | 414 std::generate(noise.begin(), noise.end(), float_rand); |
| 416 for (size_t i = 0; i < kNumNoiseBins; ++i) { | 415 for (size_t i = 0; i < kNumNoiseBins; ++i) { |
| 417 noise_psd[i] = kGainFactor * kGainFactor * noise[i] * noise[i]; | 416 noise_psd[i] = kGain * kGain * noise[i] * noise[i]; |
| 418 } | 417 } |
| 419 float* clear_cursor = clear_data_.data(); | 418 float* clear_cursor = clear_data_.data(); |
| 420 for (size_t i = 0; i < kNumFramesToProcess; ++i) { | 419 for (size_t i = 0; i < kNumFramesToProcess; ++i) { |
| 421 enh_->SetCaptureNoiseEstimate(noise, kGainDB); | 420 enh_->SetCaptureNoiseEstimate(noise, kGain); |
| 422 enh_->ProcessRenderAudio(&clear_cursor, kSampleRate, kNumChannels); | 421 enh_->ProcessRenderAudio(&clear_cursor, kSampleRate, kNumChannels); |
| 423 } | 422 } |
| 424 const std::vector<float>& estimated_psd = | 423 const std::vector<float>& estimated_psd = |
| 425 enh_->noise_power_estimator_.power(); | 424 enh_->noise_power_estimator_.power(); |
| 426 for (size_t i = 0; i < kNumNoiseBins; ++i) { | 425 for (size_t i = 0; i < kNumNoiseBins; ++i) { |
| 427 EXPECT_LT(std::abs(estimated_psd[i] - noise_psd[i]) / noise_psd[i], | 426 EXPECT_LT(std::abs(estimated_psd[i] - noise_psd[i]) / noise_psd[i], |
| 428 kTolerance); | 427 kTolerance); |
| 429 } | 428 } |
| 430 } | 429 } |
| 431 | 430 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 } | 474 } |
| 476 | 475 |
| 477 TEST(IntelligibilityEnhancerBitExactnessTest, DISABLED_Stereo48kHz) { | 476 TEST(IntelligibilityEnhancerBitExactnessTest, DISABLED_Stereo48kHz) { |
| 478 const float kOutputReference[] = {-0.009276f, -0.001601f, -0.008255f, | 477 const float kOutputReference[] = {-0.009276f, -0.001601f, -0.008255f, |
| 479 -0.012975f, -0.015940f, -0.017820f}; | 478 -0.012975f, -0.015940f, -0.017820f}; |
| 480 | 479 |
| 481 RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 2, kOutputReference); | 480 RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 2, kOutputReference); |
| 482 } | 481 } |
| 483 | 482 |
| 484 } // namespace webrtc | 483 } // namespace webrtc |
| OLD | NEW |