[Speex-dev] How does the jitter buffer "catch up"?
Jean-Marc Valin
Jean-Marc.Valin at USherbrooke.ca
Sun Sep 18 19:23:53 PDT 2005
> Weeeeelll.. Actually, now that you mention it, the histogram shifting is a
> race as well.
Indeed. So I guess it was a good thing that I never felt confident
enough to advertise the jitter buffer as "safe to use without
mutexes" :-)
> The chance of this happening is much less than the other one, but it COULD
> happen ;)
Exactly, which is why mutexes should be used.
> > Then it would be a problem with the packet loss concealment. It's
> > actually decreasing the level of the interpolated audio with time. Maybe
> > it's not decreasing quickly enough?
>
> I'd say so, my testers kept asking me what planet my room-mate is from :)
> Note that this only happens when you have quite a bit of interpolation,
> meaning there is serious network trouble anyway; don't sacrifice the
> quality of one or two-frame interpolation (which happens quite
> frequently) for these extreme cases.
Actually, I can control the rate at which the level decreases, so I can
make it go down faster after several lost frames without affecting the
"one frame" case. Look at the "attenuation" array near line 1080 of
nb_celp.c. It controls the level of the interpolated frame as a function
of the number of consecutive lost frames. There's something similar for
the high-band too. If you tweak it, please send me the optimal coefs you
found. I guess another reason for the buzz is the way I reconstruct the
excitation. I should use a noise generator a bit more instead of just
continuing the pitch.
> PS: Regarding the earlier stuff about DTX using the VAD from the
> preprocessor, I ended up switching back to silence during
> non-transmission. The denoiser is good enough that people expect silence
> when others aren't talking, the comfort noise was unwelcome.
The DTX code is getting a bit old. Perhaps it could be improved. But if
silence is fine with your users, you can use that too.
Jean-Marc
--
Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke
More information about the Speex-dev
mailing list