Bump to WebRTC M120 release
Some API deprecation -- ExperimentalAgc and ExperimentalNs are gone. We're continuing to carry iSAC even though it's gone upstream, but maybe we'll want to drop that soon.
This commit is contained in:
@ -17,6 +17,7 @@
|
||||
#include <memory>
|
||||
|
||||
#include "modules/audio_processing/transient/transient_suppressor.h"
|
||||
#include "modules/audio_processing/transient/voice_probability_delay_unit.h"
|
||||
#include "rtc_base/gtest_prod_util.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -27,42 +28,28 @@ class TransientDetector;
|
||||
// restoration algorithm that attenuates unexpected spikes in the spectrum.
|
||||
class TransientSuppressorImpl : public TransientSuppressor {
|
||||
public:
|
||||
TransientSuppressorImpl();
|
||||
TransientSuppressorImpl(VadMode vad_mode,
|
||||
int sample_rate_hz,
|
||||
int detector_rate_hz,
|
||||
int num_channels);
|
||||
~TransientSuppressorImpl() override;
|
||||
|
||||
int Initialize(int sample_rate_hz,
|
||||
int detector_rate_hz,
|
||||
int num_channels) override;
|
||||
void Initialize(int sample_rate_hz,
|
||||
int detector_rate_hz,
|
||||
int num_channels) override;
|
||||
|
||||
// Processes a |data| chunk, and returns it with keystrokes suppressed from
|
||||
// it. The float format is assumed to be int16 ranged. If there are more than
|
||||
// one channel, the chunks are concatenated one after the other in |data|.
|
||||
// |data_length| must be equal to |data_length_|.
|
||||
// |num_channels| must be equal to |num_channels_|.
|
||||
// A sub-band, ideally the higher, can be used as |detection_data|. If it is
|
||||
// NULL, |data| is used for the detection too. The |detection_data| is always
|
||||
// assumed mono.
|
||||
// If a reference signal (e.g. keyboard microphone) is available, it can be
|
||||
// passed in as |reference_data|. It is assumed mono and must have the same
|
||||
// length as |data|. NULL is accepted if unavailable.
|
||||
// This suppressor performs better if voice information is available.
|
||||
// |voice_probability| is the probability of voice being present in this chunk
|
||||
// of audio. If voice information is not available, |voice_probability| must
|
||||
// always be set to 1.
|
||||
// |key_pressed| determines if a key was pressed on this audio chunk.
|
||||
// Returns 0 on success and -1 otherwise.
|
||||
int Suppress(float* data,
|
||||
size_t data_length,
|
||||
int num_channels,
|
||||
const float* detection_data,
|
||||
size_t detection_length,
|
||||
const float* reference_data,
|
||||
size_t reference_length,
|
||||
float voice_probability,
|
||||
bool key_pressed) override;
|
||||
float Suppress(float* data,
|
||||
size_t data_length,
|
||||
int num_channels,
|
||||
const float* detection_data,
|
||||
size_t detection_length,
|
||||
const float* reference_data,
|
||||
size_t reference_length,
|
||||
float voice_probability,
|
||||
bool key_pressed) override;
|
||||
|
||||
private:
|
||||
FRIEND_TEST_ALL_PREFIXES(TransientSuppressorImplTest,
|
||||
FRIEND_TEST_ALL_PREFIXES(TransientSuppressorVadModeParametrization,
|
||||
TypingDetectionLogicWorksAsExpectedForMono);
|
||||
void Suppress(float* in_ptr, float* spectral_mean, float* out_ptr);
|
||||
|
||||
@ -74,8 +61,13 @@ class TransientSuppressorImpl : public TransientSuppressor {
|
||||
void HardRestoration(float* spectral_mean);
|
||||
void SoftRestoration(float* spectral_mean);
|
||||
|
||||
const VadMode vad_mode_;
|
||||
VoiceProbabilityDelayUnit voice_probability_delay_unit_;
|
||||
|
||||
std::unique_ptr<TransientDetector> detector_;
|
||||
|
||||
bool analyzed_audio_is_silent_;
|
||||
|
||||
size_t data_length_;
|
||||
size_t detection_length_;
|
||||
size_t analysis_length_;
|
||||
|
Reference in New Issue
Block a user