[Speex-dev] Speech switching in speakerphone?

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Tue Jun 23 04:30:43 PDT 2009

Johan Nilsson a écrit :
>> There's also a parameter to control the maximum amount of
>> suppression allowed: SPEEX_PREPROCESS_SET_NOISE_SUPPRESS : noise
>> suppression SPEEX_PREPROCESS_SET_ECHO_SUPPRESS : echo suppression
>> when there is no local talk 
>> double-talk
> Yes, I am aware of these parameters and are familiar with how they
> affect the gain. However they do not affect the timing of speech
> switching very much.

aggressive. Does it end up with too much echo or it just doesn't realise
that it's in double-talk conditions?

> The important parameter for the speech switching is the Pframe.
> Pframe is as you know based on the SNR estimation. However when the
> near-end signal is low compared to the far-end signal (coming from
> the close speaker element) the SNR is not distinctly increased when
> near-end talks.

Yes, Pframe estimation is one of the main problems I was having and I'm
not entirely sure how to solve that. I suspect that the residual echo
estimation also doesn't help.

> Our main problem is that it is hard to have good reliance on a high
> "gain2" when near-end is talking, resulting in missing conversation
> in one direction. Some improvement can be made by modifying the
> Qcurve function but it is very sensitive.
> A secondary problem we also have is that the residual echo during
> decay of far-end talk is not suppressed very well. This is probably
> caused by the strong echo coupling plus a fairly reverberant room. We
> have been able to solve this by adding a weighting factor and some
> accumulation on the residual_echo and echo_noise. This modification
> works perfect on the far-end-problem but worsen the main problem even
> more.

This is probably the effect of reverberation and can probably be solved
by tuning/improving the current recursive averaging of the echo estimate.


More information about the Speex-dev mailing list