DesignAEC » History » Version 23
Adrian Georgescu, 02/19/2011 11:58 AM
1 | 1 | Adrian Georgescu | |
---|---|---|---|
2 | 23 | Adrian Georgescu | h1. Acoustic Echo cancellation |
3 | 1 | Adrian Georgescu | |
4 | |||
5 | 23 | Adrian Georgescu | |
6 | |||
7 | SIP SIMPLE client is a Python software library that allows for easy development of Internet communications end-points based on SIP and related protocols for voice, rich presence, session based instant messaging (IM), file transfers and desktop sharing. Other media types can be easily added by using an extensible high-level API. SIP SIMPLE client uses "PJSIP media library":http://www.pjsip.org/pjmedia/docs/html/index.htm for audio processing (sound card abstraction, audio codec and acoustic echo cancellation). |
||
8 | |||
9 | 1 | Adrian Georgescu | For more information see http://sipsimpleclient.com. The project is maintained by AG Projects that can provide help to the developer to integrate its AEC implementation. |
10 | |||
11 | |||
12 | 23 | Adrian Georgescu | h2. Background |
13 | |||
14 | |||
15 | 1 | Adrian Georgescu | The present implementation of the Acoustic Echo Canceller from PJSIP media library is not performing to the desired level of quality. Practically, the speakerphone function is not performing satisfactory. The result is that the software phone cannot be used without a head-set, which make people use proprietary applications like Skype or Google Talk. |
16 | |||
17 | 23 | Adrian Georgescu | !{}http://www.pjsip.org/images/media-flow.jpg! |
18 | 1 | Adrian Georgescu | |
19 | |||
20 | 23 | Adrian Georgescu | h2. Project goal |
21 | |||
22 | |||
23 | 1 | Adrian Georgescu | Replace the existing AEC from Pjmedia library based on speex (what is displayed as echo.h in the above diagram whihc employes the AEC of the speex project) with Andree Adrian AEC implementation now available in Pulse Audio server. |
24 | |||
25 | |||
26 | 23 | Adrian Georgescu | h2. PJMEDIA |
27 | 7 | Adrian Georgescu | |
28 | 23 | Adrian Georgescu | |
29 | * PJSIP media library http://pjsip.org, used by this project, AEC is implemented based on the Speex library, the code in pjsip/pjmedia/src/pjmedia/echo_speex.c |
||
30 | * Media flow - http://trac.pjsip.org/repos/wiki/media-flow |
||
31 | * PJSIP AEC API http://www.pjsip.org/pjmedia/docs/html/group+PJMEDIA+Echo+Cancel.htm |
||
32 | |||
33 | |||
34 | h3. Andree Adrian AEC |
||
35 | |||
36 | 21 | Adrian Georgescu | |
37 | 22 | Adrian Georgescu | PulseAudio contain this echo canceler re-written in C in latest git repository in src/modules/echo-canceller/ |
38 | |||
39 | 1 | Adrian Georgescu | A previous attempt to integrated this echo-canceler, is attached. It should be used just for an example of integrating a new canceler into pjmedia, the actual code should be taken from pulse audio. |