| 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 3af1190cf0c167f0ab53e16e157f6df5ae916fbc..a87313a37c0c16425b0ed22f3707eee902c34069 100644
|
| --- a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h
|
| +++ b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h
|
| @@ -16,8 +16,10 @@
|
| #include <vector>
|
|
|
| #include "webrtc/base/swap_queue.h"
|
| -#include "webrtc/common_audio/lapped_transform.h"
|
| +#include "webrtc/common_audio/audio_ring_buffer.h"
|
| #include "webrtc/common_audio/channel_buffer.h"
|
| +#include "webrtc/common_audio/lapped_transform.h"
|
| +#include "webrtc/modules/audio_processing/audio_buffer.h"
|
| #include "webrtc/modules/audio_processing/intelligibility/intelligibility_utils.h"
|
| #include "webrtc/modules/audio_processing/render_queue_item_verifier.h"
|
| #include "webrtc/modules/audio_processing/vad/voice_activity_detector.h"
|
| @@ -41,9 +43,7 @@ class IntelligibilityEnhancer : public LappedTransform::Callback {
|
| void SetCaptureNoiseEstimate(std::vector<float> noise, float gain);
|
|
|
| // Reads chunk of speech in time domain and updates with modified signal.
|
| - void ProcessRenderAudio(float* const* audio,
|
| - int sample_rate_hz,
|
| - size_t num_channels);
|
| + void ProcessRenderAudio(AudioBuffer* audio, int sample_rate_hz);
|
| bool active() const;
|
|
|
| protected:
|
| @@ -84,6 +84,10 @@ class IntelligibilityEnhancer : public LappedTransform::Callback {
|
| // Returns true if the audio is speech.
|
| bool IsSpeech(const float* audio);
|
|
|
| + // Delays the high bands to compensate for the processing delay in the low
|
| + // band.
|
| + void DelayHighBands(AudioBuffer* audio);
|
| +
|
| static const size_t kMaxNumNoiseEstimatesToBuffer = 5;
|
|
|
| const size_t freqs_; // Num frequencies in frequency domain.
|
| @@ -120,6 +124,8 @@ class IntelligibilityEnhancer : public LappedTransform::Callback {
|
| std::vector<float> noise_estimation_buffer_;
|
| SwapQueue<std::vector<float>, RenderQueueItemVerifier<float>>
|
| noise_estimation_queue_;
|
| +
|
| + std::vector<std::unique_ptr<AudioRingBuffer>> high_bands_buffers_;
|
| };
|
|
|
| } // namespace webrtc
|
|
|