webrtc 语音处理模块逐文档注释---APM类的接口文件audio_processing.h

modules/audio_processing/include/audio_processing.h

webrtc 语音处理模块调用接口定义在上述文件之中。

struct AecCore;

class AudioFrame;

template
class Beamformer;

class StreamConfig;
class ProcessingConfig;

class EchoCancellation;
class EchoControlMobile;
class GainControl;
class HighPassFilter;
class LevelEstimator;
class NoiseSuppression;
class VoiceDetection;

首先在 webrtc 命名空间内声明了上述定义:

struct AecCore; 该结构体定义用于存储回声消除过程中的各个变量
class AudioFrame; 该类用于对传入的音频数据进行分帧处理
template N/A
class Beamformer; 该类用于对语音数据进行波束形成处理
class StreamConfig; 该类用于配置语音数据的相关参数
class ProcessingConfig; 该类用于配置语音处理过程的参数
class EchoCancellation; 回声消除类
class EchoControlMobile; 移动端回声消除类
class GainControl; 自动增益控制类
class HighPassFilter; 高通滤波器类
class LevelEstimator; 该类用于信号能量估计
class NoiseSuppression; 噪声抑制类
class VoiceDetection; 语音活动监测类

 

struct ExtendedFilter {
  ExtendedFilter() : enabled(false) {}
  explicit ExtendedFilter(bool enabled) : enabled(enabled) {}
  static const ConfigOptionID identifier = ConfigOptionID::kExtendedFilter;
  bool enabled;
};

扩展滤波器结构体用于存放“可以控制AEC处理模式”的变量,可以提高AEC在各种延迟下的算法稳健性。

待续...

 

 

你可能感兴趣的:(C++,webRTC,webrtc,apm)