<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:454107045;
        mso-list-type:hybrid;
        mso-list-template-ids:1436475462 -1482515102 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;
        font-family:"Arial","sans-serif";
        mso-fareast-font-family:Calibri;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.75in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.25in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.75in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:5.25in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1
        {mso-list-id:876433691;
        mso-list-type:hybrid;
        mso-list-template-ids:-425708810 -701464236 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.5in;
        text-indent:-.25in;
        font-family:"Arial","sans-serif";
        mso-fareast-font-family:Calibri;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.0in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.5in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.0in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.5in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.0in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.5in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:5.0in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:5.5in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2
        {mso-list-id:1669559861;
        mso-list-type:hybrid;
        mso-list-template-ids:-1736141046 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang="EN-US" link="blue" vlink="purple"><div class="WordSection1"><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Hi,</span></p><p class="MsoNormal">
<span style="font-size:10.0pt;font-family:"Arial","sans-serif""> </span></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">I am just starting up on SPEEX AEC algorithm and have couple of questions around echo cancelation algorithm used in SPEEX. </span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> </span></p><p class="MsoListParagraph" style><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>1)<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Usually Echo Cancelation Algorithm has support for number of components –</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Non-Linear Processor (NLP)</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Automatic Microphone Gain Control (AGC)</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Transducer Equalization (EQ)</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> Dynamic Range Compression (DRC)</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Ambient Noise Reduction (ANR)</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> Bi-directional Comfort Noise Generator (CNG)</span></p>
<p class="MsoListParagraph" style="margin-left:1.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>-<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Double-talk/Coherence/Howling detection</span></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">My question is whether the algorithm supports all the above functionalities ? Looking at speex_preprocess.h file, I find there are controls available for AGC, Noise Suppression, Echo Suppression during single talk and double talk but not clear if there are more options available. </span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""><span style>2)<span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">From tuning standpoint, are there references available on how we can tune SPEEX AEC algorithm to our needs ?</span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> </span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Thanks in advance.</span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> </span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Prateek </span></p>
<p class="MsoNormal"> </p></div></body></html>