IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Open-source acoustic echo canceller released, (as part of Speex 1.1.9)
jmvalin
post Jun 3 2005, 22:06
Post #1


Xiph.org Speex developer


Group: Developer
Posts: 485
Joined: 21-August 02
Member No.: 3134



I think this should be of interest even to people not interested in speech compression. I have just released an acoustic echo canceller (AEC), as part of Speex 1.1.9. While the AEC has been there for a while, this is the first version that actually works. For those not familiar with AEC, the idea is that when doing full duplex, it removes the speaker signal from what is captured by the microphone. I should also mention that this work was sponsored by Tipic Inc.

Documentation on how to use the AEC is available in the manual.pdf file (in the source distribution).
Go to the top of the page
+Quote Post
javaren
post Feb 27 2006, 02:56
Post #2





Group: Members
Posts: 2
Joined: 21-October 05
Member No.: 25260



In the source there is a function:speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise).In these parameters, the "echo_buf" means the speaker signal from what is captured by the microphone.My question is how could I get the echo and record it to a file. sad.gif
Go to the top of the page
+Quote Post
jmvalin
post Mar 2 2006, 09:32
Post #3


Xiph.org Speex developer


Group: Developer
Posts: 485
Joined: 21-August 02
Member No.: 3134



QUOTE (javaren @ Feb 27 2006, 10:56 AM)
In the source there is a function:speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise).In these parameters, the "echo_buf" means the speaker signal from what is captured by the microphone.My question is how could I get the echo and record it to a file. sad.gif
*


The only way for echo cancellation to work correctly is when both ref_buf and echo_buf are obtained simultaneously and go through the same soundcard. Otherwise, sampling rate drift will make that impossible.
Go to the top of the page
+Quote Post
bkumar
post Jan 2 2007, 10:28
Post #4





Group: Members
Posts: 1
Joined: 2-January 07
Member No.: 39215



QUOTE (jmvalin @ Mar 2 2006, 14:02) *
QUOTE (javaren @ Feb 27 2006, 10:56 AM)
In the source there is a function:speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise).In these parameters, the "echo_buf" means the speaker signal from what is captured by the microphone.My question is how could I get the echo and record it to a file. sad.gif
*


The only way for echo cancellation to work correctly is when both ref_buf and echo_buf are obtained simultaneously and go through the same soundcard. Otherwise, sampling rate drift will make that impossible.




Hi,

I would like to know that in case of playing audio and capturing from the mic at the "same time"... isn't there time associated with thread switching and also room's reverberation rate (acoustic). Then how can it be determined that both the frames are simultaneous??? Or is that time is taken into considerations???
I am using speex in my voip based product....kindly answer my question Jean
Go to the top of the page
+Quote Post
hyeewang
post Sep 20 2007, 03:25
Post #5





Group: Members
Posts: 99
Joined: 2-August 07
From: Shanghai,China
Member No.: 45817



QUOTE (jmvalin @ Mar 2 2006, 16:32) *
QUOTE (javaren @ Feb 27 2006, 10:56 AM)
In the source there is a function:speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise).In these parameters, the "echo_buf" means the speaker signal from what is captured by the microphone.My question is how could I get the echo and record it to a file. sad.gif
*


The only way for echo cancellation to work correctly is when both ref_buf and echo_buf are obtained simultaneously and go through the same soundcard. Otherwise, sampling rate drift will make that impossible.


Hello! You just told that "both ref_buf and echo_buf are obtained simultaneously and go through the same soundcard." But in full duplex,how do u abtain 2 signal from a "same" soundcard? It is impossible! Two signal,one is refence signal ,which is transimitted from far side by network, captured by "that" far Mic , sampled and encoded by "that" far side codec,decoded by "this" near side codec. Another signal, it is echo signal,captured by" this" near side Mic and sampled by this codec. How does this 2 signal go through the same soundcard?
Can u kindly explian it?
now I am studying a PBFDAF AEC with full duplex mode in PC/PDA ,encounting some difficulty. Maybe "sampling rate drift "can open my heart . Later,I would study speex AEC and impelment it.

This post has been edited by hyeewang: Sep 20 2007, 03:38
Go to the top of the page
+Quote Post
hyeewang
post Sep 20 2007, 03:50
Post #6





Group: Members
Posts: 99
Joined: 2-August 07
From: Shanghai,China
Member No.: 45817



QUOTE (bkumar @ Jan 2 2007, 17:28) *
QUOTE (jmvalin @ Mar 2 2006, 14:02) *

QUOTE (javaren @ Feb 27 2006, 10:56 AM)
In the source there is a function:speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise).In these parameters, the "echo_buf" means the speaker signal from what is captured by the microphone.My question is how could I get the echo and record it to a file. sad.gif
*


The only way for echo cancellation to work correctly is when both ref_buf and echo_buf are obtained simultaneously and go through the same soundcard. Otherwise, sampling rate drift will make that impossible.




Hi,

I would like to know that in case of playing audio and capturing from the mic at the "same time"... isn't there time associated with thread switching and also room's reverberation rate (acoustic). Then how can it be determined that both the frames are simultaneous??? Or is that time is taken into considerations???
I am using speex in my voip based product....kindly answer my question Jean


AEC do not demand two signal absolutely "simultaneous"! "absolutely simultaneous" is impossible because of thread switching. AEC can work well, although two signals misalign for some degree sample data (shorter than filter length) . But ref signal must go ahead echo signal.
Go to the top of the page
+Quote Post
rock_buddy
post Jul 2 2013, 11:01
Post #7





Group: Members
Posts: 1
Joined: 2-July 13
Member No.: 108922



where is the source code????
Go to the top of the page
+Quote Post
phofman
post Jul 2 2013, 11:33
Post #8





Group: Members
Posts: 329
Joined: 14-February 12
Member No.: 97162



QUOTE (rock_buddy @ Jul 2 2013, 12:01) *
where is the source code????


?? Did you read the thread? http://www.speex.org/downloads/ , source file mfd.c + the rest
Go to the top of the page
+Quote Post
ramnagapuri
post May 13 2014, 14:37
Post #9





Group: Members
Posts: 1
Joined: 13-May 14
Member No.: 116054



Hi,
I am using speex aec algorithm, I can't able understand theory behind the algorithm. So please, anyone suggest me where can I find the detailed description docs or
can any one give description about the algorithm?

Thanks
Ramesh Nagapuri
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 26th November 2014 - 21:50