[speex-dev] More Speex (pre-processing) Options
Tom Harper
harper at archila.com
Wed Nov 26 10:59:15 PST 2003
Steve,
Read through your posts, and they definitely helped- I tried echo cancel
alone, though, and didn't seem to get valid data out no matter how I
tweaked it (for both echo and non echo outputs). I think I am going
to shelve that one for now.
Also, I saw that you encountered some sensitivity issues with AGC
and denoising. In my testing I noticed that it seems to exclude things
like whistling and erms, grunts, etc. Setting the AGC_LEVEL setting lower
seemed to allow more of these types of things through, but I am not sure
that is the optimal solution- Did adjusting the probabilities help this?
Tom
At 10:31 AM 11/26/2003, Steve Kann wrote:
>Tom,
>
> You can look in my archives for my posts on this topic, but what I've
> found is that the echo canceller works to some extent, but if you're also
> using the other preprocessing (which you'd definitely need to do _after_
> ec, otherwise ec probably won't work at all), the AGC function ends up
> reversing the effect of ec. That is, while ec reduces the echo, it
> doesn't completely eliminate it, and then AGC goes and raises the level
> of the residual echo.
>
>So, try ec alone, without AGC, and you should be able to see some effect.
>
>-SteveK
>
>
>Tom Harper wrote:
>
>>Hi,
>>
>>Thanks, that gave me some ideas. I have tried calling speex_echo_cancel
>>and speex_preprocess separately and jointly, with a number of different
>>filter lengths,
>>and using the cancelled and non-cancelled data as input to the
>>pre-filter, with
>>and without the residual echo, etc. but there doesn't appear to be valid
>>data in the
>>echo or the cancelled frame any way I try it.
>>
>>Back to the drawing board (and eagerly awaiting the next release),
>>
>>Tom
>>
>>At 05:28 AM 11/26/2003, Tom Grandgent wrote:
>>
>>>I don't think the echo canceller works yet. The best I could
>>>get it to do is trash my audio. If it does work, some sample
>>>code demonstrating its use would be really appreciated...
>>>
>>>Here is what Jean-Marc has said about it in the past:
>>>
>>> > What should I use for a filter length for speex_echo_state_init()?
>>>
>>>"Well, it depends on your problem. The filter length represents the
>>>maximum delay of the echo. For acoustic echo, that value is generally
>>>higher than for line echo. You'll need to experiment, but a value around
>>>500 (for 8 kHz) might be a good start."
>>>
>>> > [question about params for echo canceller function]
>>>
>>>"Actually, ref is the incoming frame (with echo), echo is the outgoing
>>>frame (that has only the echo) and out is the echo-cancelled frame. As
>>>for Yout, it is an estimation of the residual echo that can be sent to
>>>the denoiser so that residual echo can be removed as well. Note that
>>>this last feature is still experimental."
>>>
>>>
>>>Tom Harper (harper at archila.com) wrote:
>>> >
>>> > Hi,
>>> >
>>> > So I have had a chance to delve deeper into the new pre-processing
>>> > code- I was also able to get VAD, AGC, Denoising, etc working inside
>>> of the
>>> > current release candidate (1.0.3). For some reason, the 1.1.2
>>> > release didn't properly encode/decode in our system (on windows)
>>> > and I haven't had time to determine why. In any case, all of the
>>> features
>>> > jointly work very well- great job!
>>> >
>>> > I realize the echo cancellation element may still be in development,
>>> but I am
>>> > having trouble getting that part of the preprocessor to work. When
>>> > I don't pass NULL into the speex_preprocess for the echo parameter,
>>> things
>>> > seem to go haywire- some memory appears to be getting trampled somewhere
>>> > (this is probably my fault). Maybe I am misunderstanding the purpose
>>> of this
>>> > parameter? Except for the first few packets, the preprocessor
>>> > appears to be removing all audio- The algorithm I am using passes in
>>> a recently
>>> > decoded frame... Any ideas? Do I need to set some settings in somewhere
>>> > in order for this to work properly?
>>> >
>>> > Thanks,
>>> > Tom
>>>
>>>--- >8 ----
>>>List archives: http://www.xiph.org/archives/
>>>Ogg project homepage: http://www.xiph.org/ogg/
>>>To unsubscribe from this list, send a message to
>>>'speex-dev-request at xiph.org'
>>>containing only the word 'unsubscribe' in the body. No subject is needed.
>>>Unsubscribe messages sent to the list will be ignored/filtered.
>>
>>
>>
>>--- >8 ----
>>List archives: http://www.xiph.org/archives/
>>Ogg project homepage: http://www.xiph.org/ogg/
>>To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
>>containing only the word 'unsubscribe' in the body. No subject is needed.
>>Unsubscribe messages sent to the list will be ignored/filtered.
>
>--- >8 ----
>List archives: http://www.xiph.org/archives/
>Ogg project homepage: http://www.xiph.org/ogg/
>To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
>containing only the word 'unsubscribe' in the body. No subject is needed.
>Unsubscribe messages sent to the list will be ignored/filtered.
<p>--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Speex-dev
mailing list