[Speex-dev] AEC strangest behavior

Josh Gargus josh at schwa.ca
Tue Mar 16 23:26:17 PDT 2010


On Mar 16, 2010, at 8:29 PM, Jean-Marc Valin wrote:

> On 2010-03-16 14:22, Josh Gargus wrote:
>>> If more than one speaker receives the *same* signal, it doesn't
>>> matter the number of speakers. It only gets tricky when the
>>> speakers are playing slightly different signals (e.g. from a stereo
>>> song).
>> 
>> Does "tricky" mean that the Speex AEC won't handle such situations
>> well?  Or just that you had to be extraordinarily clever in order to
>> make Speex AEC handle such situations well?  :-)
> 
> Tricky here means that I got it to work in some scenarios, but it likely will not work out-of-the-box and you'd be on your own because I don't have time to help on that.


Perfectly fair, and good to know.  Thanks.


> 
>> We're thinking of using Speex AEC in the context of a virtual
>> environment using OpenAL for spatialized sound.  Is there any hope
>> that this could work?  What could we do (short of not spatializing
>> sound input) to make things easier for the AEC algorithm?
> 
> As long as the spatialization transfer function is constant, then a mono AEC will work. If you only have a few different transfer functions, that may be an option. For time-varying spatialization with many (>2) channels, forget about AEC unless you're willing to spend a *lot* of time on that.
> 


Sorry, I'm not an expert, and am unfamiliar with this terminology.  The internet just told me a little bit about "transfer functions", but I'm not sure what constitutes a "constant" transfer function.  Taking a simple example from my problem domain, consider a single virtual speaker that is orbiting your avatar's head in the virtual world... I'm guessing that this would not be a constant function, right?  What would be the correct term to characterize this?  I suppose that would depend on the algorithm that OpenAL uses to do the spatialization... what if we assumed that  it was just panning the sound left and right?

Do you have any links you could recommend to teach a lay-person just enough to be dangerous about the mathematical theory behind this?

2 channels should be sufficient for our purposes, so at least one thing is working in our favor.

Cheers,
Josh



> 	Jean-Marc
> 
>> Thanks, Josh
>> 
>> 
>> 
>>> Jean-Marc
>>> 
>>> Quoting Greger Burman<greger at mobile-robotics.com>:
>>> 
>>>> One thing I can think of is if you are using two or more
>>>> speakers. If the speakers are not at the exact same distance from
>>>> the mic, you will get more than one echo. AEC can not handle
>>>> that. Try disconnecting all but one speaker and see if it makes
>>>> any difference.
>>>> 
>>>> cheers Greger
>>>> 
>>>> 2010/3/15 Anton A. Shpakovsky<saa at tomsksoft.com>
>>>> 
>>>>> Hello.
>>>>> 
>>>>> I have the following situation. AEC is used in network chat
>>>>> software
>>>>> 
>>>>> over DirectSound API. Echo and reference signals are almost
>>>>> aligned
>>>>> 
>>>>> (delay is no more than 30ms). When echo is emulated in
>>>>> notebook
>>>>> 
>>>>> (built-in speakers + mic) everything goes fine and echo is
>>>>> cancelled.
>>>>> 
>>>>> But when configuration includes stand-alone speakers and mic no
>>>>> echo is
>>>>> 
>>>>> removed. Audio is in 22050 hz at 16 bit mono format, number of
>>>>> samples
>>>>> 
>>>>> to process were 441 and tail was used 4096.
>>>>> 
>>>>> 
>>>>> 
>>>>> Dumps are here:
>>>>> http://rapidshare.com/files/317389207/speex_AEC_test.rar.html
>>>>> 
>>>>> nb_*** - working configuration (notebook)
>>>>> 
>>>>> sa_*** - standalone speakers with no echo removed
>>>>> 
>>>>> 
>>>>> 
>>>>> Can it be because of differences in fixed and arbitrary
>>>>> acoustic systems?
>>>>> 
>>>>> I will appreciate any of your advises or thoughts.
>>>>> 
>>>>> 
>>>>> 
>>>>> Thanks!
>>>>> 
>>>>> 
>>>>> 
>>>>> Anton A. Shpakovsky
>>>>> 
>>>>> Multimedia Software Developer
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________ Speex-dev
>>>>> mailing list Speex-dev at xiph.org
>>>>> http://lists.xiph.org/mailman/listinfo/speex-dev
>>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________ Speex-dev mailing
>>> list Speex-dev at xiph.org
>>> http://lists.xiph.org/mailman/listinfo/speex-dev
>> 
>> _______________________________________________ Speex-dev mailing
>> list Speex-dev at xiph.org
>> http://lists.xiph.org/mailman/listinfo/speex-dev
>> 
>> 



More information about the Speex-dev mailing list