I have tested the AEC by file model,but found it doesn't work!The output file I got still had echo. And I have found several version of mdf.c,could you tell me which version I should use? Now I'm using version 1.11.1.1 and under windows there have some bugs. --- Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>??:> > > haven't got the chance to sit down and look into > it. > > from what I read in the list, double talk > detection is > > in the pipeline... :D. Just 2 quick questions: > > i) does this canceller handle wideband for speex > wideband? > > It should, but I haven't tested it (might require a > bit of tuning). > > > ii) does it handle feedback or howling? > > Not explicitly, but just cancelling echo would > hopefully reduce that > (the preprocessor even more). > > > Lastly, a newbie question for echo cancellation: > > is there a convenient test to ensure that the > input and > > output buffers obtained from the audio IO > > are aligned? > > Save two files, look at waveform. > > > and also, does anyone have any rough > > idea what is the tolerated misalignment of the > input and > > output buffers, assuming constant misalignment > > Less then one frame size is best. More than the echo > tail and you've got > no cancellation at all. > > Jean-Marc > _______________________________________________ > Speex-dev mailing list > Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >__________________________________________________ ??????????????? http://cn.mail.yahoo.com
Look at the manual. There's just too many possibilities to screw up I don't feel like listing them every time. With 8 kHz audio, 20 ms frames and 50-300 ms tail, I can definitely say that it works (as long as you get things right). Jean-Marc Le mercredi 21 d?cembre 2005 ? 13:51 +0800, wu xudong a ?crit :> I have tested the AEC by file model,but found it > doesn't work!The output file I got still had echo. > And I have found several version of mdf.c,could you > tell me which version I should use? > Now I'm using version 1.11.1.1 and under windows there > have some bugs.> --- Jean-Marc Valin > <jean-marc.valin@usherbrooke.ca>??: > > > > > > haven't got the chance to sit down and look into > > it. > > > from what I read in the list, double talk > > detection is > > > in the pipeline... :D. Just 2 quick questions: > > > i) does this canceller handle wideband for speex > > wideband? > > > > It should, but I haven't tested it (might require a > > bit of tuning). > > > > > ii) does it handle feedback or howling? > > > > Not explicitly, but just cancelling echo would > > hopefully reduce that > > (the preprocessor even more). > > > > > Lastly, a newbie question for echo cancellation: > > > is there a convenient test to ensure that the > > input and > > > output buffers obtained from the audio IO > > > are aligned? > > > > Save two files, look at waveform. > > > > > and also, does anyone have any rough > > > idea what is the tolerated misalignment of the > > input and > > > output buffers, assuming constant misalignment > > > > Less then one frame size is best. More than the echo > > tail and you've got > > no cancellation at all. > > > > Jean-Marc > > _______________________________________________ > > Speex-dev mailing list > > Speex-dev@xiph.org > > http://lists.xiph.org/mailman/listinfo/speex-dev > > > > > __________________________________________________ > ??????????????? > http://cn.mail.yahoo.com >
Maybe I misuse mdf.I'll test it further more.Could you give me some help? I'm using 8KHz sample rate and a frame is 30ms.Two machine is used to record echo signal.They are communicating each other.I inject audio signal in machine A and play it at machine B at the same time I record the echo signal at machine B.I called the signal played by B as ref signal and the signal record by B as echo signal. Through cooledit I can analysis this two signal.It clearly shows the echo signal.The delay is about 100ms. The following codes shows how I deal with them: insigfile = fopen("sig.pcm", "rb"); inreffile = fopen("ref.pcm", "rb"); outfile = fopen("out.pcm", "wb"); st = speex_echo_state_init(NN, 8*NN); // somwu changed while((fread(echo_buf, 2, NN, insigfile) == NN) && (fread(ref_buf, 2, NN, inreffile) == NN)){ //for(i=0;i<READLEN;i++) { speex_echo_cancel(st, echo_buf, ref_buf, e_buf, noise); fwrite(e_buf, 2 ,NN, outfile); } } speex_echo_state_destroy(st); Is it right?But the out.pcm looks like the same as sig.pcm.Do you know the reason? Thx. --- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca>??:> Look at the manual. There's just too many > possibilities to screw up I > don't feel like listing them every time. With 8 kHz > audio, 20 ms frames > and 50-300 ms tail, I can definitely say that it > works (as long as you > get things right). > > Jean-Marc > > Le mercredi 21 d?cembre 2005 ? 13:51 +0800, wu > xudong a ?crit : > > I have tested the AEC by file model,but found it > > doesn't work!The output file I got still had echo. > > And I have found several version of mdf.c,could > you > > tell me which version I should use? > > Now I'm using version 1.11.1.1 and under windows > there > > have some bugs. > > > > > --- Jean-Marc Valin > > <jean-marc.valin@usherbrooke.ca>??: > > > > > > > > > haven't got the chance to sit down and look > into > > > it. > > > > from what I read in the list, double talk > > > detection is > > > > in the pipeline... :D. Just 2 quick questions: > > > > > i) does this canceller handle wideband for > speex > > > wideband? > > > > > > It should, but I haven't tested it (might > require a > > > bit of tuning). > > > > > > > ii) does it handle feedback or howling? > > > > > > Not explicitly, but just cancelling echo would > > > hopefully reduce that > > > (the preprocessor even more). > > > > > > > Lastly, a newbie question for echo > cancellation: > > > > is there a convenient test to ensure that the > > > input and > > > > output buffers obtained from the audio IO > > > > are aligned? > > > > > > Save two files, look at waveform. > > > > > > > and also, does anyone have any rough > > > > idea what is the tolerated misalignment of the > > > input and > > > > output buffers, assuming constant misalignment > > > > > > Less then one frame size is best. More than the > echo > > > tail and you've got > > > no cancellation at all. > > > > > > Jean-Marc > > > _______________________________________________ > > > Speex-dev mailing list > > > Speex-dev@xiph.org > > > http://lists.xiph.org/mailman/listinfo/speex-dev > > > > > > > > > __________________________________________________ > > ??????????????? > > http://cn.mail.yahoo.com > > >__________________________________________________ ??????????????? http://cn.mail.yahoo.com