[Speex-dev] audio preprocess questions

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Tue Oct 25 18:46:51 PDT 2005

> I have been fiddling around with preprocess to try to get it sounding 
> less metallic/underwater- so based on some things said recently,
> I have been first fiddling with mean_post and mean_prior to try to 
> get them to do change the update rate, so that update_noise gets 
> called at the right times.

Those aren't very important anymore (since I added the MCRA noise

> Is there a particular reason for choosing .1 as the gamma
> coefficient (for the posteriori SNR)?  It seems like you started
> to use a predictor and then hard coded it...  probably this is
> in some paper but I can't find it so far.

.1 seemed to work fine and having an adaptive one hasn't helped much so

> Are the following best engineering judgement or statistically based:
> if (mean_prior<0.23f && mean_post<0.5f)
> I seem to have altered mean_prior and mean_post such that 
> these don't work anymore so I was wondering how you went
> about choosing these.

Black magic. Not very relevant anymore.

> Same question on st->gain having 2.0f as an arbitrary limit?  Seems
> to work but just wondering about why it works to cap it there.

Intuition. Just preventing things from going really wrong. I have yet to
see a case where this has a real effect.

> same question on:
> st->echo_noise[i] = (0.3f*st->echo_noise[i] + echo[i]);
> Seems to work well in the original code, trying to figure
> out why it is what it is.

Just smoothing out the echo spectrum over time. Very ad hoc, needs to be
improved one day.


More information about the Speex-dev mailing list