Intel 05-1832-002 IP Phone User Manual


 
508 Voice API for Windows Operating Systems Library Reference — November 2003
DX_ECRCT — echo cancellation resource (ECR) characteristics
DX_ECRCT
echo cancellation resource (ECR) characteristics
typedef struct dx_ecrct {
int ct_length; /* size of this structure */
unsigned char ct_NLPflag /* ECR with NLP requested or not */
} DX_ECRCT;
#define SIZE_OF_ECR_CT sizeof (DX_ECRCT) /* size of DX_ECRCT */
#define ECR_CT_ENABLE 0
#define ECR_CT_DISABLE 1
!
!!
! Description
The DX_ECRCT data structure describes echo cancellation resource (ECR) characteristics. This
structure is used by the dx_listenecrex( ) function.
Note: The ECR feature has been replaced by the continuous speech processing (CSP) feature. CSP
provides enhanced echo cancellation. For more information, see the Continuous Speech Processing
API Programming Guide and Continuous Speech Processing API Library Reference.
!
!!
! Field Descriptions
The fields of the DX_ECRCT data structure are described as follows:
ct_length
Specifies the size of this structure. Use the following value to accommodate future growth in
the DX_ECRCT and the possibility of DX_ECRCT structures with different sizes:
SIZE_OF_ECR_CT – size of the DX_ECRCT structure
ct_NLPflag
Specifies whether non-linear processing (NLP) is enabled or not. When NLP is enabled, the
output of the echo canceller is replaced with an estimate of the background noise. NLP
provides full echo suppression as long as the echo reference signal contains speech signals and
the echo-carrying signal does not. In this case, the echo canceller cancels the echo and
maintains the full duplex connection. Note: Do not enable NLP when using the echo canceller
output for voice recognition algorithms because the NLP may clip the beginning of speech.
The ct_NLPflag default is disabled. Values are:
ECR_CT_ENABLE – enables NLP
ECR_CT_DISABLE – disables NLP (default)
Note: The application must include the following line in order to handle DX_ECRCT structures of
different sizes without the need for recompiling the application:
ecrct.ct_length=size_of_ecr_ct;
!
!!
! Example
See dx_listenecrex( ) for an example of how to use the DX_ECRCT structure.