> Thanks for the great work. It indeed helps to diagnose of echo > canceller and narrow down the > problem area.Good, so it worked for you?> I am not an expert in the signaling processing but I > wonder if it is possible > to add the linearity check in the echo_diagnostic function?Theoretically, yes. In practice, I'm not sure how accurate it would be. Do you have any samples you know have non-linear distortion? Jean-Marc> Thanks, > William > > On 3/16/07, Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> wrote: >> Hi everyone, >> >> I think this should be interesting to all of those with echo >> cancellation problems. I finally check in some code to make these >> problems easier to debug. You'll need to have svn version for this. >> >> First, you need to manually define DUMP_ECHO_CANCEL_DATA in the >> compilation (sorry configure switch for now). With that, the AEC will >> automatically save the near-end, far-end and output signals to files >> (aec_rec.sw aec_play.sw and aec_out.sw). These are exactly what the AEC >> receives and outputs. >> >> >From there, you'll need to start Octave and type: >> >> echo_diagnostic('aec_rec.sw', 'aec_play.sw', 'aec_diagnostic.sw', 1024); >> >> (the value of 1024 is the filter length and can be changed) >> >> There will be some (possibly) useful messages printed and echo cancelled >> audio will be saved to aec_diagnostic.sw . If even that output is bad >> (almost no cancellation) then you probably have a recording problem. >> >> Cheers, >> >> Jean-Marc >> _______________________________________________ >> Speex-dev mailing list >> Speex-dev@xiph.org >> http://lists.xiph.org/mailman/listinfo/speex-dev >> > >
Definitely! It tells me that my delay is fine but drifting is -15. I use the same onboard sound to record the near end and far end voice. So I can assume it should be fine? But I don't see the any different between input and output the echo_canceller function for this recording. Maybe there is some nonlinearity issue there? The link of this file(Capture1.zip) is in http://lists.xiph.org/pipermail/speex-dev/2007-March/005390.html There is another record set in the file(Capture2.zip) which I got 141 sample delay and drift of 14. I did not record this file so I don't know if it is from the same sound card. The PC simulation only gets about 10 to 15db ERLE. It could be also a linearity issue. On 3/22/07, Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> wrote:> > Thanks for the great work. It indeed helps to diagnose of echo > > canceller and narrow down the > > problem area. > > Good, so it worked for you? > > > I am not an expert in the signaling processing but I > > wonder if it is possible > > to add the linearity check in the echo_diagnostic function? > > Theoretically, yes. In practice, I'm not sure how accurate it would be. > Do you have any samples you know have non-linear distortion? > > Jean-Marc > > > Thanks, > > William > > > > On 3/16/07, Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> wrote: > >> Hi everyone, > >> > >> I think this should be interesting to all of those with echo > >> cancellation problems. I finally check in some code to make these > >> problems easier to debug. You'll need to have svn version for this. > >> > >> First, you need to manually define DUMP_ECHO_CANCEL_DATA in the > >> compilation (sorry configure switch for now). With that, the AEC will > >> automatically save the near-end, far-end and output signals to files > >> (aec_rec.sw aec_play.sw and aec_out.sw). These are exactly what the AEC > >> receives and outputs. > >> > >> >From there, you'll need to start Octave and type: > >> > >> echo_diagnostic('aec_rec.sw', 'aec_play.sw', 'aec_diagnostic.sw', 1024); > >> > >> (the value of 1024 is the filter length and can be changed) > >> > >> There will be some (possibly) useful messages printed and echo cancelled > >> audio will be saved to aec_diagnostic.sw . If even that output is bad > >> (almost no cancellation) then you probably have a recording problem. > >> > >> Cheers, > >> > >> Jean-Marc > >> _______________________________________________ > >> Speex-dev mailing list > >> Speex-dev@xiph.org > >> http://lists.xiph.org/mailman/listinfo/speex-dev > >> > > > > >
All I can say for now is that: 1) My diagnostic tool does funny things that need to be fixed 2) It was probably also getting confused by the clicks at the end of the files 3) There seems to be odd things with your recordings, though I can't say what that would be. Are you changing something during the recording by any chance? Note that if a person close to the mic of speaker moves, that changes the acoustic path Jean-Marc William Zhang a ?crit :> Definitely! It tells me that my delay is fine but drifting is -15. I > use the same onboard sound > to record the near end and far end voice. So I can assume it should be > fine? > But I don't see the any different between input and output the > echo_canceller function for this recording. > Maybe there is some nonlinearity issue there? The link of this > file(Capture1.zip) is in > http://lists.xiph.org/pipermail/speex-dev/2007-March/005390.html > There is another record set in the file(Capture2.zip) which I got 141 > sample delay and drift of 14. > I did not record this file so I don't know if it is from the same > sound card. The PC simulation > only gets about 10 to 15db ERLE. It could be also a linearity issue. > > On 3/22/07, Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> wrote: >> > Thanks for the great work. It indeed helps to diagnose of echo >> > canceller and narrow down the >> > problem area. >> >> Good, so it worked for you? >> >> > I am not an expert in the signaling processing but I >> > wonder if it is possible >> > to add the linearity check in the echo_diagnostic function? >> >> Theoretically, yes. In practice, I'm not sure how accurate it would be. >> Do you have any samples you know have non-linear distortion? >> >> Jean-Marc >> >> > Thanks, >> > William >> > >> > On 3/16/07, Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> wrote: >> >> Hi everyone, >> >> >> >> I think this should be interesting to all of those with echo >> >> cancellation problems. I finally check in some code to make these >> >> problems easier to debug. You'll need to have svn version for this. >> >> >> >> First, you need to manually define DUMP_ECHO_CANCEL_DATA in the >> >> compilation (sorry configure switch for now). With that, the AEC will >> >> automatically save the near-end, far-end and output signals to files >> >> (aec_rec.sw aec_play.sw and aec_out.sw). These are exactly what the >> AEC >> >> receives and outputs. >> >> >> >> >From there, you'll need to start Octave and type: >> >> >> >> echo_diagnostic('aec_rec.sw', 'aec_play.sw', 'aec_diagnostic.sw', >> 1024); >> >> >> >> (the value of 1024 is the filter length and can be changed) >> >> >> >> There will be some (possibly) useful messages printed and echo >> cancelled >> >> audio will be saved to aec_diagnostic.sw . If even that output is bad >> >> (almost no cancellation) then you probably have a recording problem. >> >> >> >> Cheers, >> >> >> >> Jean-Marc >> >> _______________________________________________ >> >> Speex-dev mailing list >> >> Speex-dev@xiph.org >> >> http://lists.xiph.org/mailman/listinfo/speex-dev >> >> >> > >> > >> > >