Jump to content
Turan Can

Voice Audio Transfer AEC ECHO cancellation

Recommended Posts

Hi All,

 

My only problem is AEC. I couldn't find much information.

 

I'm dealing with voice transfer, I did everything. I have a problem. As the two sides begin to speak, voices begin to mingle. As I understand it, it echoes. Is there a code example that clears it?
Or "AEC Echo Cancellation" in a sdk. may be in paid product.

 

AEC.png

art_echo.gif

art_echoAEC.gif

Share this post


Link to post
3 minutes ago, Turan Can said:

Hi All,

 

My only problem is AEC. I couldn't find much information.

 

I'm dealing with voice transfer, I did everything. I have a problem. As the two sides begin to speak, voices begin to mingle. As I understand it, it echoes. Is there a code example that clears it?
Or "AEC Echo Cancellation" in a sdk. may be in paid product.

 

AEC.png

art_echo.gif

art_echoAEC.gif

you did not state your platform, Android, iOS, Windows?

Share this post


Link to post
Guest

I will list few things that might help you, as did helped me.

 

There is superb Delphi library https://github.com/lakeofsoft/vcp that the author released and discontinued its support.

If you don't want to use it, that is fine because you need one thing from there, this file unaSpeexAPI.pas has the header translation of Speex Codec with its DSP, there is another header file, but i can't find it. may be outdated a little, i can't remember.

Now you need SpeexDSP from https://www.speex.org/downloads/ which has very powerful DSP pre-processor with effective algorithms for Denoise, Auto Gain Control (AGC), Voice Activity Detection (VAD) and Acoustic Echo Canceller  (AEC) 

Compiling the SpeexDSP into DLL is simple, and using the unaSpeexDSP from that header file is all what you need, of course after having look at https://www.speex.org/docs/ for the API and how to play and capture the echo, i can't remember now the right procedure sequence (preprocess , echo_playback, echo_capture)or the right values for setting, that something i believe you can figure it out your own. 

 

And good luck.

 

ps: if you are encoding the audio/voice, i highly recommend to use Opus http://opus-codec.org/ it is the best (check the comparison and examples page), many recommendation to use SpeexDSP algorithms with Opus, as Opus still doesn't have its own, same developer.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×