TeamTalk 5 .NET DLL Version 5.12A
BearWare.SpeexDSP Struct Reference

Audio configuration specifying how recorded audio from sound input device should be preprocessed before transmission. More...

Public Member Functions

 SpeexDSP (bool set_defaults)
 

Public Attributes

bool bEnableAGC
 Whether clients who join a BearWare.Channel should enable AGC with the settings specified nGainLevel, nMaxIncDBSec, nMaxDecDBSec and nMaxGainDB. More...
 
int nGainLevel
 A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE. More...
 
int nMaxIncDBSec
 Used so volume should not be amplified too quickly (maximal gain increase in dB/second). Default is 12. More...
 
int 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...
 
int nMaxGainDB
 Ensure volume doesn't become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnableAGC is FALSE. More...
 
bool bEnableDenoise
 Whether clients who join the channel should automatically enable denoising.
More...
 
int nMaxNoiseSuppressDB
 Maximum attenuation of the noise in dB. Negative value! Default value is -30. Value is ignored if bEnableDenoise is FALSE. More...
 
bool bEnableEchoCancellation
 Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed before transmission. More...
 
int nEchoSuppress
 Set maximum attenuation of the residual echo in dB (negative number). Default is -40. Value is ignored if bEnableEchoCancellation is FALSE. More...
 
int 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

Audio configuration specifying how recorded audio from sound input device should be preprocessed before transmission.

Deprecated:
Use BearWare.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 TeamTalkBase.SetSoundInputPreprocess().

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

Definition at line 1136 of file TeamTalk.cs.

Constructor & Destructor Documentation

◆ SpeexDSP()

BearWare.SpeexDSP.SpeexDSP ( bool  set_defaults)

Definition at line 1207 of file TeamTalk.cs.

Member Data Documentation

◆ bEnableAGC

bool BearWare.SpeexDSP.bEnableAGC

Whether clients who join a BearWare.Channel should 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 1146 of file TeamTalk.cs.

◆ nGainLevel

int BearWare.SpeexDSP.nGainLevel

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

Definition at line 1150 of file TeamTalk.cs.

◆ nMaxIncDBSec

int BearWare.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 1155 of file TeamTalk.cs.

◆ nMaxDecDBSec

int BearWare.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 1161 of file TeamTalk.cs.

◆ nMaxGainDB

int BearWare.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 1166 of file TeamTalk.cs.

◆ bEnableDenoise

bool BearWare.SpeexDSP.bEnableDenoise

Whether clients who join the channel should automatically enable denoising.

Definition at line 1170 of file TeamTalk.cs.

◆ nMaxNoiseSuppressDB

int BearWare.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 1175 of file TeamTalk.cs.

◆ bEnableEchoCancellation

bool BearWare.SpeexDSP.bEnableEchoCancellation

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

In order to enable echo cancellation mode the local client instance must first be set in sound duplex mode by calling TeamTalkBase.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 TeamTalkBase.InitSoundDuplexDevices() the flag ClientFlag.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.

See also
TeamTalkBase.SetSoundInputPreprocess()

Definition at line 1195 of file TeamTalk.cs.

◆ nEchoSuppress

int BearWare.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 1200 of file TeamTalk.cs.

◆ nEchoSuppressActive

int BearWare.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 1205 of file TeamTalk.cs.