Jean Marc & list, Following up on this- there seems to be an issue with this calculation in mdf.c (Smooth echo energy estimate over time) Pey += Eh*Yh; Pyy += Yh*Yh; it goes too large for floating point, which seems to be caused by extremely large values in st->Rf[j], st->Yf[j] and smaller values in st->Eh[j], st->Yh[j]- things were relatively quiet environmentally speaking. Anyhow, leak_estimate would then go to undefined, which would mess up r, which would mess up power_1[], which would then mess up some things in weighted_spectral_mul_conj, etc. There may be other issues but this is the one that makes the most sense as to causing the silence issue- for now, I just put a finite check on leak_estimate and that seems to prevent the symptom, but doesn't fix it. Maybe in this case Eh and Yh just need to be re-calculated/re-set? Tom -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20051116/a59691b9/attachment.htm
Did a bit of tuning in SVN. Could you try that? What frame size, filter length, sampling rate are you using? All the process you describe is actually the tip of the iceberg I think. There is something making the adaptation diverge, which causes Eh and Yh to be large and so on. The part I changed is probably the one causing divergence. If it doesn't work, reducing the coefficients even more should. Jean-Marc Le mercredi 16 novembre 2005 ? 10:25 -0800, Tom Harper a ?crit :> Jean Marc & list, > > Following up on this- there seems to be an issue with this calculation > in mdf.c (Smooth echo energy estimate over time) > > Pey += Eh*Yh; > Pyy += Yh*Yh; > > it goes too large for floating point, which seems to be caused by > extremely > large values in st->Rf[j], st->Yf[j] and smaller values in st->Eh[j], > st->Yh[j]- > things were relatively quiet environmentally speaking. > > Anyhow, leak_estimate would then go to undefined, which would mess up > r, which would mess up power_1[], which would then mess up some > things in weighted_spectral_mul_conj, etc. > > There may be other issues but this is the one that makes the > most sense as to causing the silence issue- for now, I just put a > finite check on leak_estimate and that seems to prevent the symptom, > but doesn't fix it. > > Maybe in this case Eh and Yh just need to be re-calculated/re-set? > > Tom > _______________________________________________ > Speex-dev mailing list > Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev
Jean Marc, Ok so I tested with the new code, same result- frame size160, filter length=160 ms/1280 samples, 8000 Hz diverged after 9564 calls/packets or 191 seconds. My system stays relatively in synch but is not perfect- difficult to measure if there is any clock drift, but it probably is. In order to make it break faster I use an open air usb microphone that is part of a logitech notebook camera, and then plug headphones into the speaker jack (sensitive mic can pick this up). I am not saying this is a *fair* test... :) It takes longer to cause this bug if everything is open air. Tom At 01:55 AM 11/18/2005, Jean-Marc Valin wrote:>Did a bit of tuning in SVN. Could you try that? What frame size, filter >length, sampling rate are you using? > >All the process you describe is actually the tip of the iceberg I think. >There is something making the adaptation diverge, which causes Eh and Yh >to be large and so on. The part I changed is probably the one causing >divergence. If it doesn't work, reducing the coefficients even more >should.______________________________________________ Tom Harper Lead Software Engineer SightSpeed - <http://www.sightspeed.com/>http://www.sightspeed.com/ 918 Parker St, Suite A14 Berkeley, CA 94710 Email: tharper@sightspeed.com Phone: 510-665-2920 Fax: 510-649-9569 My SightSpeed Video Link: http://tom.sightspeed.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20051118/25e6ec40/attachment.htm