Thanks for alerting me to the new changes. I just tried the latest code from SVN, but unfortunately I still have just about the same results. The estimated echo that gets subtracted from the actual echo is such a small signal that it doesn't really result in any noticeable echo attenuation. I currently have my filter size set to 2 seconds even though the echo in my microphone file is only about 180ms delayed from the signal in my speaker file. I also double checked that the endianess of my is correct, and that I am providing the files to testecho in the correct order. Do you think that there could be some characteristics to my echo that make it not work with the mdf algorithm? How much echo attenuation should I expect from the mdf algorithm before the preprocess? Are there any test speaker and mic files that I could run against testecho to see how it handles other acoustic echos? -Jason --- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> wrote:> I've recently made changes to the AEC. Please try > the code in SVN and > see if it works better. > > Jean-Marc > > Le jeudi 03 novembre 2005 ? 22:36 -0800, Jason > Harper a ?crit : > > I've tried some further debugging to see what mdf > is > > actually doing. Instead of sending: > > tmp_out = (float)ref[i] - st->y[i+st->frame_size] > > to the output, I just sent > > st->y[i+st->frame_size] > > to see what was being subtracted from the > microphone > > input. When I open this in Audacity, I see a very > > small signal at about -40dBm. The actual echo in > my > > sample has a power closer to -20dBm. So, when the > > -40dBm estimated echo is removed from the -20dBm > > actual echo there is almost no perceived > difference in > > the echo power. > > I'm sure that there are others on the list that > have > > had good success with the echo cancellation > module. > > Could anyone point me to reference test files that > are > > known to work well in testecho. > > I'd like to figure out if there is some > characteristic > > of my echo that makes it incompatible with this > echo > > cancellation algorithm, or whether there is just > some > > configuration problem in my implementation. > > Thanks for your time; advice is greatly > appreciated. > > > > -Jason > > > > --- > > > I have incorporated the speex echo cancellation > into > > > my softphone project, but wasn't getting great > > > results. I decided to simplify the problem, by > > > recording speaker and mic files and running > > > testecho. > > > I've been pretty happy with the preprocess > module > > > and > > > I wanted to focus on the mdf, so I commented out > the > > > call to preprocess in testecho. > > > When I run testecho my output file looks almost > > > identicle to my mic file. I don't see any > reduction > > > in the power level of the echo. I've looked > through > > > some of the previous posts to this group and > have > > > tried the obvious, such as increasing my filter > > > length > > > and reversing the order of the files passed into > the > > > application. > > > Looking at the files in Audacity, the echo lags > by > > > about 180ms. I have experimented with filter > > > lengths > > > up to 2 seconds. > > > I'm open to suggestions. > > > > _______________________________________________ > > Speex-dev mailing list > > Speex-dev@xiph.org > > http://lists.xiph.org/mailman/listinfo/speex-dev > > >
This kind of behaviour is odd. One of the reason could be the fact that you're using a really long impulse response. Try syncing your signals and making the tail length more in the order of 100 ms to 300 ms. Jean-Marc Le dimanche 06 novembre 2005 ? 21:25 -0800, Jason Harper a ?crit :> Thanks for alerting me to the new changes. I just > tried the latest code from SVN, but unfortunately I > still have just about the same results. The estimated > echo that gets subtracted from the actual echo is such > a small signal that it doesn't really result in any > noticeable echo attenuation. > I currently have my filter size set to 2 seconds even > though the echo in my microphone file is only about > 180ms delayed from the signal in my speaker file. I > also double checked that the endianess of my is > correct, and that I am providing the files to testecho > in the correct order. > Do you think that there could be some characteristics > to my echo that make it not work with the mdf > algorithm? How much echo attenuation should I expect > from the mdf algorithm before the preprocess? Are > there any test speaker and mic files that I could run > against testecho to see how it handles other acoustic > echos? > > -Jason > > --- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> > wrote: > > > I've recently made changes to the AEC. Please try > > the code in SVN and > > see if it works better. > > > > Jean-Marc > > > > Le jeudi 03 novembre 2005 ? 22:36 -0800, Jason > > Harper a ?crit : > > > I've tried some further debugging to see what mdf > > is > > > actually doing. Instead of sending: > > > tmp_out = (float)ref[i] - st->y[i+st->frame_size] > > > to the output, I just sent > > > st->y[i+st->frame_size] > > > to see what was being subtracted from the > > microphone > > > input. When I open this in Audacity, I see a very > > > small signal at about -40dBm. The actual echo in > > my > > > sample has a power closer to -20dBm. So, when the > > > -40dBm estimated echo is removed from the -20dBm > > > actual echo there is almost no perceived > > difference in > > > the echo power. > > > I'm sure that there are others on the list that > > have > > > had good success with the echo cancellation > > module. > > > Could anyone point me to reference test files that > > are > > > known to work well in testecho. > > > I'd like to figure out if there is some > > characteristic > > > of my echo that makes it incompatible with this > > echo > > > cancellation algorithm, or whether there is just > > some > > > configuration problem in my implementation. > > > Thanks for your time; advice is greatly > > appreciated. > > > > > > -Jason > > > > > > --- > > > > I have incorporated the speex echo cancellation > > into > > > > my softphone project, but wasn't getting great > > > > results. I decided to simplify the problem, by > > > > recording speaker and mic files and running > > > > testecho. > > > > I've been pretty happy with the preprocess > > module > > > > and > > > > I wanted to focus on the mdf, so I commented out > > the > > > > call to preprocess in testecho. > > > > When I run testecho my output file looks almost > > > > identicle to my mic file. I don't see any > > reduction > > > > in the power level of the echo. I've looked > > through > > > > some of the previous posts to this group and > > have > > > > tried the obvious, such as increasing my filter > > > > length > > > > and reversing the order of the files passed into > > the > > > > application. > > > > Looking at the files in Audacity, the echo lags > > by > > > > about 180ms. I have experimented with filter > > > > lengths > > > > up to 2 seconds. > > > > I'm open to suggestions. > > > > > > _______________________________________________ > > > Speex-dev mailing list > > > Speex-dev@xiph.org > > > http://lists.xiph.org/mailman/listinfo/speex-dev > > > > > > >
I ran some further tests on mdf and here are the results: 1. reduced tail length to 100ms, aligned mic and speaker signals to within 10ms - almost no echo attenuation 2. aligned mic and speaker signals to within 5 samples - still almost no echo attenuation 3. ran testecho using the same file for mic and speaker - very good echo cancellation (of course this is expected, but I needed to do a sanity check) 4. ran the same file for mic and speaker, but had the mic signal delayed by 10ms - OK echo cancellation, but noticeably degraded over previous test 5. same file for mic and speaker, but mic signal delayed by 40ms - noticeable echo attenuation, but still a large echo. So far my testing is only showing good echo cancellation when the exact same file is being used and is pretty closely aligned. -Jason --- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> wrote:> This kind of behaviour is odd. One of the reason > could be the fact that > you're using a really long impulse response. Try > syncing your signals > and making the tail length more in the order of 100 > ms to 300 ms. > > Jean-Marc > > Le dimanche 06 novembre 2005 ? 21:25 -0800, Jason > Harper a ?crit : > > Thanks for alerting me to the new changes. I just > > tried the latest code from SVN, but unfortunately > I > > still have just about the same results. The > estimated > > echo that gets subtracted from the actual echo is > such > > a small signal that it doesn't really result in > any > > noticeable echo attenuation. > > I currently have my filter size set to 2 seconds > even > > though the echo in my microphone file is only > about > > 180ms delayed from the signal in my speaker file. > I > > also double checked that the endianess of my is > > correct, and that I am providing the files to > testecho > > in the correct order. > > Do you think that there could be some > characteristics > > to my echo that make it not work with the mdf > > algorithm? How much echo attenuation should I > expect > > from the mdf algorithm before the preprocess? Are > > there any test speaker and mic files that I could > run > > against testecho to see how it handles other > acoustic > > echos? > > > > -Jason > > > > --- Jean-Marc Valin > <Jean-Marc.Valin@USherbrooke.ca> > > wrote: > > > > > I've recently made changes to the AEC. Please > try > > > the code in SVN and > > > see if it works better. > > > > > > Jean-Marc > > > > > > Le jeudi 03 novembre 2005 ? 22:36 -0800, Jason > > > Harper a ?crit : > > > > I've tried some further debugging to see what > mdf > > > is > > > > actually doing. Instead of sending: > > > > tmp_out = (float)ref[i] - > st->y[i+st->frame_size] > > > > to the output, I just sent > > > > st->y[i+st->frame_size] > > > > to see what was being subtracted from the > > > microphone > > > > input. When I open this in Audacity, I see a > very > > > > small signal at about -40dBm. The actual echo > in > > > my > > > > sample has a power closer to -20dBm. So, when > the > > > > -40dBm estimated echo is removed from the > -20dBm > > > > actual echo there is almost no perceived > > > difference in > > > > the echo power. > > > > I'm sure that there are others on the list > that > > > have > > > > had good success with the echo cancellation > > > module. > > > > Could anyone point me to reference test files > that > > > are > > > > known to work well in testecho. > > > > I'd like to figure out if there is some > > > characteristic > > > > of my echo that makes it incompatible with > this > > > echo > > > > cancellation algorithm, or whether there is > just > > > some > > > > configuration problem in my implementation. > > > > Thanks for your time; advice is greatly > > > appreciated. > > > > > > > > -Jason > > > > > > > > --- > > > > > I have incorporated the speex echo > cancellation > > > into > > > > > my softphone project, but wasn't getting > great > > > > > results. I decided to simplify the problem, > by > > > > > recording speaker and mic files and running > > > > > testecho. > > > > > I've been pretty happy with the preprocess > > > module > > > > > and > > > > > I wanted to focus on the mdf, so I commented > out > > > the > > > > > call to preprocess in testecho. > > > > > When I run testecho my output file looks > almost > > > > > identicle to my mic file. I don't see any > > > reduction > > > > > in the power level of the echo. I've looked > > > through > > > > > some of the previous posts to this group and > > > have > > > > > tried the obvious, such as increasing my > filter > > > > > length > > > > > and reversing the order of the files passed > into > > > the > > > > > application. > > > > > Looking at the files in Audacity, the echo > lags > > > by > > > > > about 180ms. I have experimented with > filter > > > > > lengths > > > > > up to 2 seconds. > > > > > I'm open to suggestions. > > > > > > > > > _______________________________________________ > > > > Speex-dev mailing list > > > > Speex-dev@xiph.org > > > > > http://lists.xiph.org/mailman/listinfo/speex-dev > > > > > > > > > > > >