TeamTalk 5 C-API DLL  Version 5.14A
SpeexDSP Struct Reference

Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed before transmission. More...

#include <TeamTalk.h>

Public Attributes

TTBOOL bEnableAGC
 Whether to enable AGC with the settings specified nGainLevel, nMaxIncDBSec, nMaxDecDBSec and nMaxGainDB. More...
 
INT32 nGainLevel
 A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE. More...
 
INT32 nMaxIncDBSec
 Used so volume should not be amplified too quickly (maximal gain increase in dB/second). Default is 12. More...
 
INT32 nMaxDecDBSec
 Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second). Negative value! Default is -40. Value is ignored if bEnableAGC is FALSE. More...
 
INT32 nMaxGainDB
 Ensure volume doesn't become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnableAGC is FALSE. More...
 
TTBOOL bEnableDenoise
 Whether clients who join the channel should automatically enable denoising. More...
 
INT32 nMaxNoiseSuppressDB
 Maximum attenuation of the noise in dB. Negative value! Default value is -30. Value is ignored if bEnableDenoise is FALSE. More...
 
TTBOOL bEnableEchoCancellation
 Enable/disable acoustic echo cancellation (AEC). More...
 
INT32 nEchoSuppress
 Set maximum attenuation of the residual echo in dB (negative number). Default is -40. Value is ignored if bEnableEchoCancellation is FALSE. More...
 
INT32 nEchoSuppressActive
 Set maximum attenuation of the residual echo in dB when near end is active (negative number). Default is -15. Value is ignored if bEnableEchoCancellation is FALSE. More...
 

Detailed Description

Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed before transmission.

Deprecated:
Use WebRTCAudioPreprocessor.

Users' audio levels may be diffent due to how their microphone is configured in their OS. Automatic Gain Control (AGC) can be used to ensure all users in the same channel have the same audio level.

Enable the preprocessing configuration by calling TT_SetSoundInputPreprocess().

When joining a Channel and bEnableGainControl of AudioConfig is enabled in the channel then enable sound input preprocessing by setting bEnableAGC to TRUE and nGainLevel of SpeexDSP to the nGainLevel of AudioConfig.

Definition at line 1227 of file TeamTalk.h.

Member Data Documentation

◆ bEnableAGC

TTBOOL SpeexDSP::bEnableAGC

Whether to enable AGC with the settings specified nGainLevel, nMaxIncDBSec, nMaxDecDBSec and nMaxGainDB.

Note that AGC is not supported on ARM (iOS and Android), since there's no fixed point implementation of AGC in SpeexDSP.

Definition at line 1236 of file TeamTalk.h.

◆ nGainLevel

INT32 SpeexDSP::nGainLevel

A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE.

Definition at line 1239 of file TeamTalk.h.

◆ nMaxIncDBSec

INT32 SpeexDSP::nMaxIncDBSec

Used so volume should not be amplified too quickly (maximal gain increase in dB/second). Default is 12.

  • Value is ignored if bEnableAGC is FALSE.

Definition at line 1243 of file TeamTalk.h.

◆ nMaxDecDBSec

INT32 SpeexDSP::nMaxDecDBSec

Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second). Negative value! Default is -40. Value is ignored if bEnableAGC is FALSE.

Definition at line 1248 of file TeamTalk.h.

◆ nMaxGainDB

INT32 SpeexDSP::nMaxGainDB

Ensure volume doesn't become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnableAGC is FALSE.

Definition at line 1252 of file TeamTalk.h.

◆ bEnableDenoise

TTBOOL SpeexDSP::bEnableDenoise

Whether clients who join the channel should automatically enable denoising.

Definition at line 1255 of file TeamTalk.h.

◆ nMaxNoiseSuppressDB

INT32 SpeexDSP::nMaxNoiseSuppressDB

Maximum attenuation of the noise in dB. Negative value! Default value is -30. Value is ignored if bEnableDenoise is FALSE.

Definition at line 1259 of file TeamTalk.h.

◆ bEnableEchoCancellation

TTBOOL SpeexDSP::bEnableEchoCancellation

Enable/disable acoustic echo cancellation (AEC).

In order to enable echo cancellation mode the local client instance must first be set in sound duplex mode by calling TT_InitSoundDuplexDevices(). This is because the echo canceller must first mixed all audio streams into a single stream and have then run in synch with the input stream. After calling TT_InitSoundDuplexDevices() the flag CLIENT_SNDINOUTPUT_DUPLEX will be set.

For echo cancellation to work the sound input and output device must be the same sound card since the input and output stream must be completely synchronized. Also it is recommended to also enable denoising and AGC for better echo cancellation.

Definition at line 1274 of file TeamTalk.h.

◆ nEchoSuppress

INT32 SpeexDSP::nEchoSuppress

Set maximum attenuation of the residual echo in dB (negative number). Default is -40. Value is ignored if bEnableEchoCancellation is FALSE.

Definition at line 1278 of file TeamTalk.h.

◆ nEchoSuppressActive

INT32 SpeexDSP::nEchoSuppressActive

Set maximum attenuation of the residual echo in dB when near end is active (negative number). Default is -15. Value is ignored if bEnableEchoCancellation is FALSE.

Definition at line 1282 of file TeamTalk.h.