AEC echo cancelling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to get some better Results with the AEC. (pjproject Version 2.5.5) 
I tried SPEEX AEC but the echo cancelling doesn't work as hoped for. 
The cancelling works, but you still get a little echo and after some time (one minute or so) the background noise gets louder and I think the cancelling gets also worse. 
Do I have to set some more parameters than the ecTailLen and ecOptions? 

The other Thing i tried is to integrate WebRTC AEC (Mostly described in Ticket #1888). But no luck there to compile it in, because of a missing full-howto. 
Steps done so far with WebRTC: 
1. Get the depot_tools 
2. Get/Build webrtc: 
      mkdir webrtc-checkout 
      cd webrtc-checkout 
      fetch --nohooks webrtc 
      gclient sync 
      gn gen out/Release 
      ninja -C out/Release
3. Configure pjsip: 
      ./configure --with-webrtc=~/webrtc-checkout

Log output of configure:
Using webrtc prefix... /home/yocto/webrtc-checkout
checking for WebRtcAec_Process in -laudio_processing... no


I think the webrtc aec libraries (audio_processing, common_audio, system_wrappers) doesn't get built.
Is it due to the compatibility issue described in the ticket? Which Version do I have to get, or more, how do I get it?


My setup: 
Buildsystem Ubuntu 
Target Yocto Linux on a i.MX6 (ARM) 
Loudspeaker & MIC 
SGTL5000 Audiocodec 
Latency: about 200ms (measured with pjsystest Latency Test)

My initialisation routine of EC is: 
EpConfig ep_cfg; 
ep_cfg.medConfig.noVad=true; 
ep_cfg.medConfig.ecTailLen=300; 
ep_cfg.medConfig.ecOptions=PJMEDIA_ECHO_SPEEX|PJMEDIA_ECHO_USE_NOISE_SUPPRESSOR|PJMEDIA_ECHO_USE_SW_ECHO|PJMEDIA_ECHO_AGGRESSIVENESS_AGGRESSIVE; 
ep.libInit( ep_cfg ); 

Log output of SPEEX AEC: 
10:37:54.669 pjsua_call.c ..Answering call 0: code=200 
10:37:54.670 pjsua_media.c .....Call 0: updating media.. 
10:37:54.671 pjsua_media.c ......Audio updated, stream #0: (inactive) 
10:37:54.672 pjsua_aud.c ......Audio channel update.. 
10:37:54.674 strm0x74d1452c .......Encoder stream started 
10:37:54.674 strm0x74d1452c .......Decoder stream started 
10:37:54.675 pjsua_media.c ......Audio updated, stream #1: G722 (sendrecv) 
!*** Recording device is: sysdefault:CARD=imxsgtl5000 With ID: -1 
!*** Playback device is: sysdefault:CARD=imxsgtl5000 With ID: -2 
10:37:54.678 pjsua_aud.c .....Conf connect: 2 --> 0 
10:37:54.678 pjsua_aud.c ......Set sound device: capture=-1, playback=-2 
10:37:54.678 pjsua_aud.c .......Opening sound device (speaker + mic) PCM@16000/1/20ms 
10:37:54.713 ec0x74d1bf50 ........AEC created, clock_rate=16000, channel=1, samples per frame=320, tail length=300 ms, latency=0 ms 
10:37:54.715 conference.c ......Port 2 (sip:203@192.168.139.152;user=phone) transmitting to port 0 (sysdefault:CARD=imxsgtl5000) 
10:37:54.716 pjsua_aud.c .....Conf connect: 0 --> 2 
10:37:54.717 conference.c ......Port 0 (sysdefault:CARD=imxsgtl5000) transmitting to port 2 (sip:203@192.168.139.152;user=phone)

----------------------------------------------------------------------------------- 
Severin Birrer 

FELA Management AG Phone : +41 52 646 46 37 
Basadingerstrasse 18 Fax : +41 52 646 46 96 
CH-8253 Diessenhofen Mail : mailto:severin.birrer@xxxxxxx 
http://www.fela.ch/

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux