[Speex-dev] Preserving echo canceller state between two connections?
mail at maris-ee.eu
Fri Nov 6 03:03:32 PST 2009
I wish to preserve the state of the echo canceller engine when it is in a
converged state, in order to use this for a later, separate VoIP
connection. However, any jitter in processing delay from playback to
record might make this impossible.
From the manual:
Latency and algorithmic delay
Every speech codec introduces a delay in the transmission. For Speex, this
delay is equal to the frame size, plus some amount
of “look-ahead” required to process each frame. In narrowband operation (8
kHz), the delay is 30 ms, while for wideband (16
kHz), the delay is 34 ms. These values don’t account for the CPU time it
takes to encode or decode the frames.
When audio chunks are subject to jitter (time difference between playback
and record chunks), how can the echo canceller provide properly converged
results? The other way round: when the canceller can keep its converged
state despite some jitter, it should also be possible to conserve the
canceller state between two VoIP connections. Or am I wrong?
My environment: Blackfin uC-Linux with Linphone app.
More information about the Speex-dev