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 | |
SpeexEchoState * | speex_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) |
#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 struct SpeexEchoState_ SpeexEchoState |
Internal echo canceller state. Should never be accessed directly.
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)
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!)
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
st | Echo canceller state | |
request | ioctl-type request (one of the SPEEX_ECHO_* macros) | |
ptr | Data exchanged to-from function |
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
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
st | Echo canceller state |
SpeexEchoState* speex_echo_state_init | ( | int | frame_size, | |
int | filter_length | |||
) |
Creates a new echo canceller state
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) |
void speex_echo_state_reset | ( | SpeexEchoState * | st | ) |
Reset the echo canceller to its original state
st | Echo canceller state |