回复: Re: 回复: Re: [Speex-dev] echo canceller

wu xudong zjusomwu at yahoo.com.cn
Wed Dec 21 01:10:36 PST 2005


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 at 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 at 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 at xiph.org
> > > http://lists.xiph.org/mailman/listinfo/speex-dev
> > > 
> > 
> > 
> > __________________________________________________
> > 赶快注册雅虎超大容量免费邮箱?
> > http://cn.mail.yahoo.com
> > 
> 


__________________________________________________
赶快注册雅虎超大容量免费邮箱?
http://cn.mail.yahoo.com


More information about the Speex-dev mailing list