Hi Anton<br><br>Thanks for the info...<br><br>What if I use this function do I still need to sync the playback and capture?<br>Assuming that the captured voice (*rec) already contains the echo which I need to cancel out...<br>
--------------------------------<br>void speex_echo_capture (SpeexEchoState *st, const spx_int16_t *rec,  spx_int16_t *out)<br><br>Parameters:<br>        st     Echo canceller state<br>        rec     signal from the microphone (near end + far end echo)<br>
        out     Returns near-end signal with echo removed<br>----------------------------------   <br><br>thanks &amp; regards,<br>Chris Adoremos<br><br><div class="gmail_quote">On Wed, Sep 29, 2010 at 5:46 PM, Anton A. Shpakovsky <span dir="ltr">&lt;<a href="mailto:saa@tomsksoft.com">saa@tomsksoft.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div link="blue" vlink="purple" lang="RU"><div><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);" lang="EN-US">Hi</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);" lang="EN-US"> </span></p><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);" lang="EN-US">Yes, it&#39;s absolutely unnecessary to use speex codec. You can encode the echo cancelled auido data</span><span style="font-size: 10pt; color: rgb(51, 51, 51);" lang="EN-US"> with any codec you want.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; color: rgb(51, 51, 51);" lang="EN-US">The Echo Canncelation API is here - </span><a href="http://www.speex.org/docs/api/speex-api-reference/group__SpeexEchoState.html" target="_blank">http://www.speex.org/docs/api/speex-api-reference/group__SpeexEchoState.html</a><span lang="EN-US"></span></p>
<p class="MsoNormal"><span lang="EN-US">I would advice you to look at </span><span><b><span style="font-size: 10.5pt; color: black;">speex_echo_cancellation</span></b></span><span><b><span style="font-size: 10.5pt; color: black;"> </span></b></span><span lang="EN-US">function but you will have to sync playback and capture streams by yourself.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p><p class="MsoNormal"><span lang="EN-US">I&#39;ve used GSM, iLBC and Speex codecs with Speex AEC and it works fine.</span><span style="font-size: 10pt; color: rgb(51, 51, 51);" lang="EN-US"></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);" lang="EN-US">Best Regards,</span></p><p class="MsoNormal">
<span style="font-size: 11pt; color: rgb(31, 73, 125);" lang="EN-US">Anton A. Shpakovsky</span></p><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> <a href="mailto:speex-dev-bounces@xiph.org" target="_blank">speex-dev-bounces@xiph.org</a> [mailto:<a href="mailto:speex-dev-bounces@xiph.org" target="_blank">speex-dev-bounces@xiph.org</a>] <b>On Behalf Of </b>Christopher Adoremos<br>
<b>Sent:</b> Wednesday, September 29, 2010 4:39 PM<br><b>To:</b> <a href="mailto:speex-dev@xiph.org" target="_blank">speex-dev@xiph.org</a><br><b>Cc:</b> <a href="mailto:jean-marc.valin@usherbrooke.ca" target="_blank">jean-marc.valin@usherbrooke.ca</a><br>
<b>Subject:</b> [SPAM] [BombData][alltestmode] [Speex-dev] Using Speex Echo Canceller</span></p><div><div></div><div class="h5"><p class="MsoNormal"> </p><div><p class="MsoNormal">Hi</p></div><div><p class="MsoNormal"> </p>
</div><div><p class="MsoNormal">Is it possible to use only the speex echo cancellation module w/o using the speex codec?</p></div><div><p class="MsoNormal"> </p></div><div><p class="MsoNormal">Here&#39;s the scenario:</p>
</div><div><p class="MsoNormal">1. I have my voice recorded in PCM audio file format</p></div><div><p class="MsoNormal">2. I want to cleanup the recorded voice by removing any echo included in the audio file/buffer</p></div>
<div><p class="MsoNormal">3. can I just use the ff APIs?</p></div><div><p class="MsoNormal">   - SpeexEchoState* speex_echo_state_init()</p></div><div><p class="MsoNormal">   - int speex_echo_ctl()</p></div><div><p class="MsoNormal">
   - void speex_echo_capture()</p></div><div><p class="MsoNormal">4. then, will it be possible to encode the output buffer from speex_echo_capture() to any codec?</p></div><div><p class="MsoNormal">    Like G711? GSM? etc....</p>
</div><div><p class="MsoNormal"> </p></div><div><p class="MsoNormal">I&#39;m quite new to audio format concepts/development, so if you have any ideas your advice is highly appreciated..</p></div><div><p class="MsoNormal">
 </p></div><div><p class="MsoNormal">Thanks in advance</p></div><div><p class="MsoNormal">Chris A</p></div></div></div></div></div></blockquote></div><br>