[Speex-dev] Operation with continuous tone
jean-marc.valin at usherbrooke.ca
Wed Nov 8 20:11:39 PST 2006
Jim Crichton wrote:
> During hardware and network impairment testing, I sometimes just hold
> down a DTMF key to keep the audio busy. I have found that if I restart
> the receiver while the transmitter is still encoding DTMF, the receiver
> plays out a different tone, until the DTMF key goes off an on again.
> Also, today I captured some Speex frames during a tone (but not
> including the start of the tone). When I later fed these into the
> decoder, I got mostly silence with some noise.
> Is this behavior expected? I suspect it is, and I understand that this
> is not a real-world situation.
It's a bit funny, but I'm not too surprised. what happens is that with
these signals, the prediction gain is so big that there's nearly no need
for and "innovation" (fixed codebook) signal. When you reset the
decoder, the states become out of sync until the prediction gains drop.
You can always play with the gain control if you want to limit the
effect. Right now, I've got
if (cumul_gain > 262144)
max_gain = 31;
in ltp.c around line 360. You can reduce the value (especially the first
one) and see what it does. Most likely it'll improve in the situation
you're describing at the price of a slight deterioration in the normal case.
More information about the Speex-dev