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