Echo cancellation provides better speech recognition accuracy when attempting to recognize while prompting. Echo cancellation removes the echo produced while the prompt is being played from the caller input. Without echo cancellation, the recognizer performs poorly as it cannot distinguish the caller's input from the prompt's echo.
Echo cancellation uses an adaptive algorithm; therefore, the longer it is on, the better job it does. Applications requiring echo cancellation should turn on echo cancellation once the call is answered and leave it on until recognition during prompting is no longer required by the application.
Since echo cancellation performance improves over time, it remains on across irExec(3IRAPI) and irSubProg(3IRAPI) boundaries. irExec(3IRAPI)'ed applications can use irCheckEcho(3IRAPI) to determine the status of the echo canceler.
Echo cancellation is automatically stopped when irDeinit(3IRAPI) or irReturn(3IRAPI) is called.
In general, applications that use echo cancellation consume more resources than recognition applications that do not. Reasons include: