[Speex-dev] Fwd: Re: Fixed Point on wideband-mode: Single Frame loss on 2000 Hz sine causes "freak off"
Jean-Marc Valin
jean-marc.valin at usherbrooke.ca
Wed Jan 13 17:27:12 PST 2010
Hi,
That's very useful information. From what you tell me, it may be related
to the handling of max_gain in pitch_gain_search_3tap() (ltp.c). Also,
are you able to reproduce the problem in narrowband mode?
Cheers,
Jean-Marc
On 2010-01-13 07:34, Frank Lorenz wrote:
> Hi Jean-Marc,
>
> yes, I tested with floating point. It is only a fixed point problem,
> floating point works fine. Even a fixed point decoder is o.k. -- problem
> is inside encoder.
>
> I had the idea of an "above unity" pitch gain, too, but I did not manage
> to modifiy the encoder in a way to fix it. Because the encoder's pitch
> handling is some kind of "feedback system" (i.e. a change in output
> parameters of frame N will influence input parameters in frame N+1),
> it's not so easy for me to reduce gain to test for stability. All
> modifications I tried made the situation worse, so I need some adivce
> how to proceed...
>
> The complexity parameter has some influence, too: For a sine input of
> 2200 Hz, the instability is present only for complexity values up to 3,
> but for the 2000 Hz input, instability can be observed even for the
> highest complexity values.
>
> As already written, I observed that the pitch and pitch gain values
> computed with the fixed point encoder seem quite odd and are absolutely
> different from the ones computed with floating point. This seems to
> stabilize for higher complexity values, so I'm not sure if this is the
> cause of the problem or only a side effect.
>
> best regards,
>
> Frank
>
>
> Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> hat am 13. Januar 2010
> um 12:48 geschrieben:
>
> > Hi Frank,
> >
> > Sorry, I *do* care about the problem and just happen to be overworked at
> > the moment. What I suspect is that the pitch gain gets close enough to
> > unity that the loss makes it bust. Did you test with the floating-point
> > code?
> >
> > Jean-Marc
> >
> > On 2010-01-13 03:45, Frank Lorenz wrote:
> > > Hi,
> > >
> > > is no one willing to spent some effort on this topic? At least it would
> > > be good
> > > to know if anybody can reproduce this problem.
> > >
> > > I did further investigation on the topic and found out that the encoder
> > > in fixed
> > > point mode produces absolutely different pitch and pitch gain
> parameters
> > > than in
> > > floating point mode (for a 2000 Hz input signal). The codec breaks on
> > > frame loss
> > > if the encoder is in fixed point mode, decoder doesn't matter, so I
> > > assume the
> > > pitch parameters are "bad".
> > > Maybe its caused by accuracy/rounding problems for this periodic
> signal?
> > >
> > > Because I do not know much about the internals of Speex, it's hard
> for me to
> > > analyse the pitch / pitch gain computation. Some help would be really
> > > nice...
> > >
> > > best regards,
> > > Frank
> > >
> > >
> > >
> > > ---------- Ursprüngliche Nachricht ----------
> > > Von: Frank Lorenz <Frank_wtal at web.de>
> > > An: speex-dev at xiph.org
> > > Datum: 4. Januar 2010 um 09:57
> > > Betreff: Re: [Speex-dev] Fixed Point on wideband-mode: Single Frame
> loss
> > > on 2000
> > > Hz sine causes "freak off"
> > >
> > >
> > > Hi Jean-Marc, all,
> > >
> > > I didn't get any response to my issue up to now and would like to
> now if
> > > anyone
> > > can reproduce this behaviour and if there is some idea what
> happens. I am
> > > willing to fix this issue, but because I do not know the internals of
> > > speex, I
> > > need some advice on how to proceed...
> > >
> > > best regards,
> > > Frank
> > >
> > >
> > >
> > > Frank Lorenz <Frank_wtal at web.de> hat am 21. Dezember 2009 um 10:49
> > > geschrieben:
> > >
> > > > An update:
> > > >
> > > > I found that the "ADD32: output is not int:" messages are caused
> by the
> > > > enhancer. When I turn the enhancer off, the messages vanish, but the
> > > "freak
> > > > out" of the codec is still there - so the problem seems not to be
> > > related to
> > > > the overflow messages.
> > > >
> > > > best regards,
> > > > Frank
> > > >
> > > >
> > > > ---------- Ursprüngliche Nachricht ----------
> > > > Von: Frank Lorenz <Frank_wtal at web.de>
> > > > An: speex-dev at xiph.org
> > > > Datum: 18. Dezember 2009 um 13:36
> > > > Betreff: [Speex-dev] Fixed Point on wideband-mode: Single Frame loss
> > > on 2000
> > > > Hz sine causes "freak off"
> > > >
> > > > Hi,
> > > >
> > > > I'm quite sure we found a bug inside the codec (1.2rc1, wideband
> > > mode). It
> > > > only
> > > > occurs when speex is compiled with the FIXED_POINT flag.
> > > >
> > > > I feed in a 2000 Hz sine wave (-15 dBFS). When I simulate a single
> > > frame loss
> > > > (i.e. pass a null pointer to speex_decode_int as second parameter for
> > > just one
> > > > frame), the decoder
> > > > starts to freak out a second later: It produces horrible noise with 0
> > > dBFS.
> > > > This
> > > > horrible noise will not vanish until you turn off the input signal.
> > > >
> > > > I did some investigation on this with FIXED_DEBUG. The error
> messages are
> > > > (lots
> > > > of this):
> > > > ADD32: output is not int: 1702286034 in ltp.c: line 68
> > > > ADD32: output is not int: 1455757562 in ltp.c: line 69
> > > >
> > > > Call stack for this (only set the break point once, may be there are
> > > other
> > > > call
> > > > stacks on error, too):
> > > >
> > > > sb_decode ( ) at sb_celp.c:898
> > > > nb_decode ( ) at nb_celp.c:1471
> > > > multicomb ( ) at filter.c:709
> > > > interp_pitch ( ) at filter.c:603
> > > > inner_prod ( ) at ltp.c:68
> > > >
> > > > Can you help please?
> > > >
> > > > best regards,
> > > > Frank
> > > > ______________________________________________________
> > > > GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
> > > > Jetzt freischalten unter http://movieflat.web.de
> > > <http://movieflat.web.de/>
> > > >
> > > > _______________________________________________
> > > > Speex-dev mailing list
> > > > Speex-dev at xiph.org
> > > > http://lists.xiph.org/mailman/listinfo/speex-dev
> > > ______________________________________________________
> > > GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
> > > Jetzt freischalten unter http://movieflat.web.de
> <http://movieflat.web.de/>
> > >
> > > _______________________________________________
> > > Speex-dev mailing list
> > > Speex-dev at xiph.org
> > > http://lists.xiph.org/mailman/listinfo/speex-dev
> > >
> > > Web Bug from https://img.web.de/p.gif
> > > WEB.DE MillionenKlick: Kostenlos tippen, täglich 1 Million gewinnen!
> > > http://produkte.web.de/go/07/
> > >
> > >
> > >
> > > _______________________________________________
> > > Speex-dev mailing list
> > > Speex-dev at xiph.org
> > > http://lists.xiph.org/mailman/listinfo/speex-dev
> >
>
>
>
> Web Bug from https://img.web.de/p.gif
> GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://movieflat.web.de
>
>
>
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
More information about the Speex-dev
mailing list