Hello? I am a new user of speex.I am currently working on speex frames and I have some questions. I am using narrowband and long tail length, and it works very well with speex test DEMO. But it is very difficult to have speaker input in perfect sync with mic input. Speex does not work at all. Any suggestion? Regards? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20090821/5b5a7ef1/attachment.htm
Hi I've been debugging and troubleshooting echo cancellation myself recently and I have made some observations. First of all playback and recording must be synchronized. There cannot be any clock drift between the microphone signal and the speaker (echo) signal. This has been said many times in the mailing list, but I will repeat it anyway. You have to first make sure that this is not your problem. I was recording and playing full duplex on the same audio card but still had clock drift between the signals of about 3 ms per second when using windows multimedia interface. You can compile speex with the preprocessor flag DUMP_ECHO_CANCEL_DATA to get audio dump files from the echo cancellor. There is a matlab/octave script you can use on the dumps, but you can also import the dumps into an audio editor (e.g. Audacity) to analyse. I have noticed that the delay between echo signal and the microphone signal also has an effect on how well Speex AEC performs. I did some tests with the testecho program. With the signals perfectly aligned echo cancellation was near perfect. When I introduced a small delay of <20 ms between speaker signal and microphone signal, I got no noticeable echo cancellation at all. I don't know if this is the expected behavior. My sample was quite short and perhaps the AEC needs time to converge when there is a delay between the signals. The question is how long time? Jean-Marc can probably shed some light on that. Something I am wondering about is: Should the delay between speaker signal and mic signal be taken into account when choosing the tail length? Or is the tail length independent of the delay? //Greger 2009/8/21 mrywhh <mrywhh at 163.com>> Hello? > I am a new user of speex.I am currently working on speex frames and I have > some questions. > I am using narrowband and long tail length, and it works very well with > speex test DEMO. But it is very difficult to have speaker input in perfect > sync with mic input. Speex does not work at all. > > Any suggestion? > > Regards? > > > > ------------------------------ > ???????????,www.yeah.net <http://www.yeah.net/?from=footer> > _______________________________________________ > Speex-dev mailing list > Speex-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20090821/08958510/attachment.htm
Quoting Greger Burman <greger at mobile-robotics.com>:> I have noticed that the delay between echo signal and the microphone signal > also has an effect on how well Speex AEC performs. I did some tests with the > testecho program. With the signals perfectly aligned echo cancellation was > near perfect. When I introduced a small delay of <20 ms between speaker > signal and microphone signal, I got no noticeable echo cancellation at all. > I don't know if this is the expected behavior. My sample was quite short and > perhaps the AEC needs time to converge when there is a delay between the > signals. The question is how long time? Jean-Marc can probably shed some > light on that.If the echo in the mic is *before* the speaker, then you cannot have any cancellation. OTOH, if the echo in the mic is *after* the speaker, then the degradation is just linked to the delay (i.e. no real degradation if the offset is small).> Something I am wondering about is: Should the delay between speaker signal > and mic signal be taken into account when choosing the tail length? Or is > the tail length independent of the delay?Well, if you have an offset of X ms, then you should probably increase the tail length by the same amount. Jean-Marc> //Greger > 2009/8/21 mrywhh <mrywhh at 163.com> > > > Hello?? > > I am a new user of speex.I am currently working on speex frames and I have > > some questions. > > I am using narrowband and long tail length, and it works very well with > > speex test DEMO. But it is very difficult to have speaker input in perfect > > sync with mic input. Speex does not work at all. > > > > Any suggestion? > > > > Regards?? > > > > > > > > ------------------------------ > > ??????????????????????,www.yeah.net <http://www.yeah.net/?from=footer> > > _______________________________________________ > > Speex-dev mailing list > > Speex-dev at xiph.org > > http://lists.xiph.org/mailman/listinfo/speex-dev > > > > >