| Index: webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h
|
| diff --git a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h
|
| index 8125707f120981c40817152a80bcbea43f2e3006..ee59584e3e412c83109f6cf97f88a5f20352f678 100644
|
| --- a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h
|
| +++ b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h
|
| @@ -83,6 +83,8 @@ class IntelligibilityEnhancer {
|
| AudioSource source_;
|
| };
|
| friend class TransformCallback;
|
| + FRIEND_TEST_ALL_PREFIXES(IntelligibilityEnhancerTest, TestErbCreation);
|
| + FRIEND_TEST_ALL_PREFIXES(IntelligibilityEnhancerTest, TestSolveForGains);
|
|
|
| // Sends streams to ProcessClearBlock or ProcessNoiseBlock based on source.
|
| void DispatchAudio(AudioSource source,
|
| @@ -97,6 +99,12 @@ class IntelligibilityEnhancer {
|
| // Computes and sets modified gains.
|
| void AnalyzeClearBlock(float power_target);
|
|
|
| + // Bisection search for optimal |lambda|.
|
| + void SolveForLambda(float power_target, float power_bot, float power_top);
|
| +
|
| + // Transforms freq gains to ERB gains.
|
| + void UpdateErbGains();
|
| +
|
| // Updates variance calculation for noise input with |in_block|.
|
| void ProcessNoiseBlock(const std::complex<float>* in_block,
|
| std::complex<float>* out_block);
|
| @@ -127,6 +135,8 @@ class IntelligibilityEnhancer {
|
| static const float kConfigRho; // Default production and interpretation SNR.
|
| static const float kKbdAlpha;
|
| static const float kGainChangeLimit;
|
| + static const float kLambdaBot; // Extreme values in bisection
|
| + static const float kLambdaTop; // search for lambda.
|
|
|
| const int freqs_; // Num frequencies in frequency domain.
|
| const int window_size_; // Window size in samples; also the block size.
|
|
|