[Speex-dev] speex denoiser adaptation time
Tom Harper
tharper at sightspeed.com
Mon Feb 21 01:11:57 PST 2005
Hi Jean Marc & List,
So I have been fiddling with the denoiser (again). While poking
around I noticed that nb_preprocess is basically a counter that
is mod-ded with 100 (the default), which causes Smin[] to be re-
seeded with the value in Stmp[] (min of the previous adaptation
period). Smin[] is then used to update the noise probability, which
is (probably) less likely when adaptation period is shorter.
Ok so that I can get from looking at the code- my actual question is
why 100 runs (i.e. 2 seconds @ 8000 hz) is chosen as the adaptation
period (mathematical reason or engineering judgement) ? I haven't
been able to decipher the Ephraim/Malah paper yet but i am finding in
other literature an adaptation time of 320 ms (16 runs) or so might be
reasonable for fast/short term adaptation-
I noticed that you also turn off adaptation when vad finds something
for up to consec_noise (==3, so 60 ms for me). Was curious
how that number was picked (i.e. perceptual, engineering judgment, etc)?
I understand you wouldn't want to adapt the denoiser when someone is
talking, the question is whether a small amount of residual echo
could mess it up (i.e. maybe 3 is too small?)
Thanks-
Tom
--
Tom Harper - tharper at sightspeed.com
Lead Software Engineer
SightSpeed, Inc.
918 Parker St, Suite A14
Berkeley, CA 94710
Phone: 510.665.2920
Cell: 415.378.3779
web: http://www.sightspeed.com
video: http://tom.sightspeed.com/
More information about the Speex-dev
mailing list