[Speex-dev] Preprocessor Idle state
mail at maris-ee.eu
Tue Jun 15 11:04:47 PDT 2010
I'd like to maintain the speex preprocessor in an idle state when no
communication is needed. Purpose: keep the SpeexEchoState struct content
"frozen" as to restore last controlled cancel state for reuse with resumed
communication. Since the audio path to speaker and mic is intended to be
kept alive permanently, the echo delay should remain constant, a
prerequisite for successful resume in converged state. Why idle? While in
full operation, the preprocessor takes quite a lot of CPU-time (here:
blackfin under uClinux, approx. 30% CPU).
Q.: would it work OK when the repetitive calls to speex_preprocess_run(),
or only speex_echo_cancellation() are interrupted during idle? Or is
another way to realize the desired behaviour as being preferred, e.g.
copying the speex state as backup and restore using ctl-call
SPEEX_PREPROCESS_SET_ECHO_STATE? Is this an intended feature to allow
resume of idle connections?
Further I'd wish to have the speex control agility be reduced when once
already converged. Reason: less susceptibility to disturbing artifacts
(e.g. short microphone overdrive) is suggested to happen. Any pointers to
appropriate documentation are welcome (if present).
More information about the Speex-dev