Speex EC?

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

 



I am a newbie to this project and not a software developer, but used
to work on echo canceller simulations.

Can someone point me to the code used for the speex echo canceller?

In http://svn.pjsip.org/repos/pjproject/trunk/pjmedia/src/pjmedia/echo_speex.c,
it appears that the relevant calling code is:


    /* Control echo cancellation in the preprocessor */
   speex_preprocess_ctl(echo->preprocess, SPEEX_PREPROCESS_SET_ECHO_STATE,
			echo->state);


    /* Create temporary frame for echo cancellation */
    echo->tmp_frame = (pj_int16_t*) pj_pool_zalloc(pool, 2*samples_per_frame);
    PJ_ASSERT_RETURN(echo->tmp_frame != NULL, PJ_ENOMEM);

    /* Done */
    *p_echo = echo;
    return PJ_SUCCESS;


Not sure if the functions I want are speex_preprocess_ctl(), but
perhaps it is PJ_ASSERT_RETURN().  Where does this code live?

Happy New Year!

Ken


On Tue, Dec 21, 2010 at 11:34 AM, Ken Laberteaux <klaberte at umich.edu> wrote:
> I am trying to work with a developer to troubleshoot echo issues in a
> mobile-phone SIP application (csipsimple).
>
> If I recall from my telecom days, there was sometimes a practice of
> intentionally feeding back some of the received signal. ?This was done
> ?to give the far-end talker a nice "reverb" sound to his voice, but is
> a disaster if there is delay in the line.
>
> Is there anything like this in pjsip?
>
> Again, the issue is that a far-end caller (call him Frank) calls the
> near end SIP device using pjsip (call her Sue), Frank experiences
> significant echo of his voice. ?Sue experiences no echo of her voice.
> It seems that Frank's echo problems are not reduced even when Sue
> covers her mic with her finger ("acoustic mute") while Frank talks.
> This leads me to think that Frank's voice is being resent (digitally,
> not acousticly) to Frank by Sue's device. ?Since there is non-trivial
> delay in the round trip, Frank hears significant echo.
>
> Any suggestions?
>
> Thanks!
>



[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