Frank Lorenz
2010-Jan-13 08:45 UTC
[Speex-dev] Fwd: Re: Fixed Point on wideband-mode: Single Frame loss on 2000 Hz sine causes "freak off"
<body bgcolor="#ffffff" background="https://img.web.de/v/p.gif" class="bgRepeatYes" style="background-repeat: repeat; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 9pt; padding-left: 0px;" ><span style="font-size: 9pt;"><span style="font-family: verdana,geneva;"><span style="background-color: transparent;"><span style="color: #000000;"><span style="color: #000000;"> </span></span></span></span></span>Hi,<br /><br />is no one willing to spent some effort on this topic? At least it would be good<br />to know if anybody can reproduce this problem.<br /><br />I did further investigation on the topic and found out that the encoder in fixed<br />point mode produces absolutely different pitch and pitch gain parameters than in<br />floating point mode (for a 2000 Hz input signal). The codec breaks on frame loss<br />if the encoder is in fixed point mode, decoder doesn't matter, so I assume the<br />pitch parameters are "bad".<br />Maybe its caused by accuracy/rounding problems for this periodic signal?<br /><br />Because I do not know much about the internals of Speex, it's hard for me to<br />analyse the pitch / pitch gain computation. Some help would be really nice...<br /><br />best regards,<br />Frank<br /><br /><br /><br />---------- Ursprüngliche Nachricht ----------<br />Von: Frank Lorenz <Frank_wtal@web.de><br />An: speex-dev@xiph.org<br />Datum: 4. Januar 2010 um 09:57<br />Betreff: Re: [Speex-dev] Fixed Point on wideband-mode: Single Frame loss on 2000<br />Hz sine causes "freak off"<br /><br /><br />Hi Jean-Marc, all,<br /><br />I didn't get any response to my issue up to now and would like to now if anyone<br />can reproduce this behaviour and if there is some idea what happens. I am<br />willing to fix this issue, but because I do not know the internals of speex, I<br />need some advice on how to proceed...<br /><br />best regards,<br />Frank<br /><br /><br /><br />Frank Lorenz <Frank_wtal@web.de> hat am 21. Dezember 2009 um 10:49 geschrieben:<br /><br />> An update:<br />><br />> I found that the "ADD32: output is not int:" messages are caused by the<br />> enhancer. When I turn the enhancer off, the messages vanish, but the "freak<br />> out" of the codec is still there - so the problem seems not to be related to<br />> the overflow messages.<br />><br />> best regards,<br />> Frank<br />><br />><br />> ---------- Ursprüngliche Nachricht ----------<br />> Von: Frank Lorenz <Frank_wtal@web.de><br />> An: speex-dev@xiph.org<br />> Datum: 18. Dezember 2009 um 13:36<br />> Betreff: [Speex-dev] Fixed Point on wideband-mode: Single Frame loss on 2000<br />> Hz sine causes "freak off"<br />><br />> Hi,<br />><br />> I'm quite sure we found a bug inside the codec (1.2rc1, wideband mode). It<br />> only<br />> occurs when speex is compiled with the FIXED_POINT flag.<br />><br />> I feed in a 2000 Hz sine wave (-15 dBFS). When I simulate a single frame loss<br />> (i.e. pass a null pointer to speex_decode_int as second parameter for just one<br />> frame), the decoder<br />> starts to freak out a second later: It produces horrible noise with 0 dBFS.<br />> This<br />> horrible noise will not vanish until you turn off the input signal.<br />><br />> I did some investigation on this with FIXED_DEBUG. The error messages are<br />> (lots<br />> of this):<br />> ADD32: output is not int: 1702286034 in ltp.c: line 68<br />> ADD32: output is not int: 1455757562 in ltp.c: line 69<br />><br />> Call stack for this (only set the break point once, may be there are other<br />> call<br />> stacks on error, too):<br />><br />> sb_decode ( ) at sb_celp.c:898<br />> nb_decode ( ) at nb_celp.c:1471<br />> multicomb ( ) at filter.c:709<br />> interp_pitch ( ) at filter.c:603<br />> inner_prod ( ) at ltp.c:68<br />><br />> Can you help please?<br />><br />> best regards,<br />> Frank<br />> ______________________________________________________<br />> GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!<br />> Jetzt freischalten unter <a href="http://movieflat.web.de/" target="_blank">http://movieflat.web.de</a><br />><br />> _______________________________________________<br />> Speex-dev mailing list<br />> Speex-dev@xiph.org<br />> <a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a><br />______________________________________________________<br />GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!<br />Jetzt freischalten unter <a href="http://movieflat.web.de/" target="_blank">http://movieflat.web.de</a><br /><br />_______________________________________________<br />Speex-dev mailing list<br />Speex-dev@xiph.org<br /><a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a> <br><br><table cellpadding="0" cellspacing="0" border="0"><tr><td bgcolor="#000000"><img src="https://img.web.de/p.gif" width="1" height="1" border="0" alt="" /></td></tr><tr><td style="font-family:verdana; font-size:12px; line-height:17px;">WEB.DE MillionenKlick: Kostenlos tippen, täglich 1 Million gewinnen! <br>http://produkte.web.de/go/07/</td></tr></table></body>
Jean-Marc Valin
2010-Jan-13 11:48 UTC
[Speex-dev] Fwd: Re: Fixed Point on wideband-mode: Single Frame loss on 2000 Hz sine causes "freak off"
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
Hi All, I'm a Speex newbie wanting to figure if it's worth trying to get the fixed point decoder working on an M32C processor. It has a hardware 16x16->32 multiply and a 16x16+48->48 multiply/accumulate in about 8 cycles and runs at 25Mhz. No shortage of RAM. I'm confident that I could make it work and am willing to commit the effort, but before I do so I should ask: 1) Does anyone know of a port to this or the M16C series of processors? 2) Is it likely to be feasible (ie: sufficient CPU resource?) Thanks Andy