TeamTalk 5 C-API DLL Version 5.13A
WebRTCAudioPreprocessor Struct Reference

WebRTC's audio preprocessor. More...

#include <TeamTalk.h>

Public Attributes

struct {
   TTBOOL   bEnable
 Enable pre-amplifier. Replacement for TT_SetSoundInputGainLevel() More...
 
   float   fFixedGainFactor
 Gain factor. Default: 1. More...
 
preamplifier
 Configuration of WebRTC pre-amplifier. More...
 
struct {
   TTBOOL   bEnable
 Enable WebRTC echo canceller. The WebRTC echo canceller requires sound input and output devices are initialized using TT_InitSoundDuplexDevices(). This is because both input and output device must use the same sample rate. More...
 
echocanceller
 Configuration of WebRTC's echo canceller. See also TT_SetSoundDeviceEffects() More...
 
struct {
   TTBOOL   bEnable
 Enable WebRTC noise suppression. More...
 
   INT32   nLevel
 Noise suppression level. 0 = Low, 1 = Moderate, 2 = High, 3 = VeryHigh. Default: 1. More...
 
noisesuppression
 Configuration of WebRTC's noise suppression. See also SpeexDSP. More...
 
struct {
   TTBOOL   bEnable
 Use WebRTC's voice detection to trigger CLIENTEVENT_VOICE_ACTIVATION. More...
 
voicedetection
 Configuration of WebRTC's voice detection. More...
 
struct {
   TTBOOL   bEnable
 Enable WebRTC's fixed digital gain. WebRTC's automatic gain control (AGC) More...
 
   struct {
      float   fGainDB
 Gain level in dB. Range: 0 <= x < 50. Default: 0. More...
 
   }   fixeddigital
 Gain level for AGC. Only active when bEnable is true. More...
 
   struct {
      TTBOOL   bEnable
 
      float   fInitialSaturationMarginDB
 
      float   fExtraSaturationMarginDB
 
      float   fMaxGainChangeDBPerSecond
 
      float   fMaxOutputNoiseLevelDBFS
 
   }   adaptivedigital
 Configuration for fine tuning gain level. More...
 
gaincontroller2
 Configuration of WebRTC's gain controller 2 for AGC. More...
 
struct {
   TTBOOL   bEnable
 Enable level estimater. When enabled TT_GetSoundInputLevel() will return a value based on WebRTC's level estimater. A WebRTC level estimater value of 0 will result in SOUND_VU_MAX and level estimater value of 127 will return SOUND_VU_MIN. More...
 
levelestimation
 Configuration of WebRTC's level estimater. More...
 

Detailed Description

WebRTC's audio preprocessor.

Use WebRTC's audio preprocessor, https://webrtc.org

Note that WebRTC's can only operate on 10 msec audio frame, so nTxIntervalMSec in AudioCodec must a multiple of 10.

WebRTCAudioPreprocessor is recommended to TT_SetSoundDeviceEffects() on desktop platforms.

Activate WebRTCAudioPreprocessor by calling TT_SetSoundInputPreprocessEx().

Definition at line 1311 of file TeamTalk.h.

Member Data Documentation

◆ bEnable

TTBOOL WebRTCAudioPreprocessor::bEnable

Enable pre-amplifier. Replacement for TT_SetSoundInputGainLevel()

Enable level estimater. When enabled TT_GetSoundInputLevel() will return a value based on WebRTC's level estimater. A WebRTC level estimater value of 0 will result in SOUND_VU_MAX and level estimater value of 127 will return SOUND_VU_MIN.

Enable WebRTC's fixed digital gain. WebRTC's automatic gain control (AGC)

Use WebRTC's voice detection to trigger CLIENTEVENT_VOICE_ACTIVATION.

Enable WebRTC noise suppression.

Enable WebRTC echo canceller. The WebRTC echo canceller requires sound input and output devices are initialized using TT_InitSoundDuplexDevices(). This is because both input and output device must use the same sample rate.

TT_EnableVoiceActivation() must still be called to activate voice detection event CLIENTEVENT_VOICE_ACTIVATION.

Enabling WebRTC's voice detection invalidates use of TT_SetVoiceActivationLevel()

Definition at line 1318 of file TeamTalk.h.

◆ fFixedGainFactor

float WebRTCAudioPreprocessor::fFixedGainFactor

Gain factor. Default: 1.

Definition at line 1320 of file TeamTalk.h.

◆ 

struct { ... } WebRTCAudioPreprocessor::preamplifier

Configuration of WebRTC pre-amplifier.

◆ 

struct { ... } WebRTCAudioPreprocessor::echocanceller

Configuration of WebRTC's echo canceller. See also TT_SetSoundDeviceEffects()

◆ nLevel

INT32 WebRTCAudioPreprocessor::nLevel

Noise suppression level. 0 = Low, 1 = Moderate, 2 = High, 3 = VeryHigh. Default: 1.

Definition at line 1341 of file TeamTalk.h.

◆ 

struct { ... } WebRTCAudioPreprocessor::noisesuppression

Configuration of WebRTC's noise suppression. See also SpeexDSP.

◆ 

struct { ... } WebRTCAudioPreprocessor::voicedetection

Configuration of WebRTC's voice detection.

◆ fGainDB

float WebRTCAudioPreprocessor::fGainDB

Gain level in dB. Range: 0 <= x < 50. Default: 0.

Definition at line 1370 of file TeamTalk.h.

◆ 

struct { ... } WebRTCAudioPreprocessor::fixeddigital

Gain level for AGC. Only active when bEnable is true.

◆ fInitialSaturationMarginDB

float WebRTCAudioPreprocessor::fInitialSaturationMarginDB

Definition at line 1379 of file TeamTalk.h.

◆ fExtraSaturationMarginDB

float WebRTCAudioPreprocessor::fExtraSaturationMarginDB

Definition at line 1381 of file TeamTalk.h.

◆ fMaxGainChangeDBPerSecond

float WebRTCAudioPreprocessor::fMaxGainChangeDBPerSecond

Definition at line 1383 of file TeamTalk.h.

◆ fMaxOutputNoiseLevelDBFS

float WebRTCAudioPreprocessor::fMaxOutputNoiseLevelDBFS

Definition at line 1385 of file TeamTalk.h.

◆ 

struct { ... } WebRTCAudioPreprocessor::adaptivedigital

Configuration for fine tuning gain level.

◆ 

struct { ... } WebRTCAudioPreprocessor::gaincontroller2

Configuration of WebRTC's gain controller 2 for AGC.

◆ 

struct { ... } WebRTCAudioPreprocessor::levelestimation

Configuration of WebRTC's level estimater.