SpeexEchoState: Acoustic echo canceller


Classes

class  SpeexEchoState

Defines

#define SPEEX_ECHO_GET_FRAME_SIZE   3
#define SPEEX_ECHO_SET_SAMPLING_RATE   24
#define SPEEX_ECHO_GET_SAMPLING_RATE   25

Typedefs

typedef SpeexEchoState_ SpeexEchoState

Functions

SpeexEchoStatespeex_echo_state_init (int frame_size, int filter_length)
void speex_echo_state_destroy (SpeexEchoState *st)
void speex_echo_cancellation (SpeexEchoState *st, const spx_int16_t *rec, const spx_int16_t *play, spx_int16_t *out)
void speex_echo_cancel (SpeexEchoState *st, const spx_int16_t *rec, const spx_int16_t *play, spx_int16_t *out, spx_int32_t *Yout)
void speex_echo_capture (SpeexEchoState *st, const spx_int16_t *rec, spx_int16_t *out)
void speex_echo_playback (SpeexEchoState *st, const spx_int16_t *play)
void speex_echo_state_reset (SpeexEchoState *st)
int speex_echo_ctl (SpeexEchoState *st, int request, void *ptr)

Detailed Description

This is the acoustic echo canceller module.

Define Documentation

#define SPEEX_ECHO_GET_FRAME_SIZE   3

Obtain frame size used by the AEC

#define SPEEX_ECHO_GET_SAMPLING_RATE   25

Get sampling rate

#define SPEEX_ECHO_SET_SAMPLING_RATE   24

Set sampling rate


Typedef Documentation

typedef struct SpeexEchoState_ SpeexEchoState

Internal echo canceller state. Should never be accessed directly.


Function Documentation

void speex_echo_cancel ( SpeexEchoState st,
const spx_int16_t *  rec,
const spx_int16_t *  play,
spx_int16_t *  out,
spx_int32_t *  Yout 
)

Performs echo cancellation a frame (deprecated)

void speex_echo_cancellation ( SpeexEchoState st,
const spx_int16_t *  rec,
const spx_int16_t *  play,
spx_int16_t *  out 
)

Performs echo cancellation a frame, based on the audio sent to the speaker (no delay is added to playback ni this form)

Parameters:
st Echo canceller state
rec signal from the microphone (near end + far end echo)
play Signal played to the speaker (received from far end)
out Returns near-end signal with echo removed

void speex_echo_capture ( SpeexEchoState st,
const spx_int16_t *  rec,
spx_int16_t *  out 
)

Perform echo cancellation using internal playback buffer, which is delayed by two frames to account for the delay introduced by most soundcards (but it could be off!)

Parameters:
st Echo canceller state
rec signal from the microphone (near end + far end echo)
out Returns near-end signal with echo removed

int speex_echo_ctl ( SpeexEchoState st,
int  request,
void *  ptr 
)

Used like the ioctl function to control the echo canceller parameters

Parameters:
st Echo canceller state
request ioctl-type request (one of the SPEEX_ECHO_* macros)
ptr Data exchanged to-from function
Returns:
0 if no error, -1 if request in unknown

void speex_echo_playback ( SpeexEchoState st,
const spx_int16_t *  play 
)

Let the echo canceller know that a frame was just queued to the soundcard

Parameters:
st Echo canceller state
play Signal played to the speaker (received from far end)

void speex_echo_state_destroy ( SpeexEchoState st  ) 

Destroys an echo canceller state

Parameters:
st Echo canceller state

SpeexEchoState* speex_echo_state_init ( int  frame_size,
int  filter_length 
)

Creates a new echo canceller state

Parameters:
frame_size Number of samples to process at one time (should correspond to 10-20 ms)
filter_length Number of samples of echo to cancel (should generally correspond to 100-500 ms)
Returns:
Newly-created echo canceller state

void speex_echo_state_reset ( SpeexEchoState st  ) 

Reset the echo canceller to its original state

Parameters:
st Echo canceller state


Generated on Wed May 23 00:53:16 2007 for Speex by  doxygen 1.5.1