[speex-dev] Memory leak in denoiser + a few questions
Steve Kann
stevek at stevek.com
Tue Mar 30 13:34:22 PST 2004
On Mar 28, 2004, at 8:23 PM, Jean-Marc Valin wrote:
>> The st->zeta pointer isn't freed in the
>> speex_preprocess_state_destroy()
>> function of the preprocess.c file (alloced in line 167). It's in
>> Speex 1.1.4
>> by the way.
>
> Oops... Thanks for letting me know. I'll change that for the next
> release (in the mean time, the fix is obvious). In case you're
> interested, I'm currently working on a reverberation suppression
> algorithm. I'll put it in CVS.
Reverberation suppression?
I guess this would help reduce local source echoes? I've never
_noticed_ that to be a problem in my use, but I would imagine that
using a notebook's built-in microphone, you'd get some echo off of the
screen and stuff [also from the whole room]..
Most of these echoes aren't so bad, but I guess they might make the
encoding job harder. I'd sure rather see the echo cancellation
finished [not that I have any say on what you work on!!!].
FWIW, I'm currently using noise reduction, VAD, and AGC in a VoIP
client which is getting more use out there, and it's working well.
I'm currently using VAD in a conferencing application [where the VAD
decision helps me avoid adding noise to the common conference, and
ostensibly avoid redundant mixing steps]. The problem here is that VAD
is very expensive. I did a little set of tests, and VAD is currently
my bottleneck for users who are using it..
Here's the numbers I got doing vad on 655 seconds of audio (about half
is speech, half is absolute silence [0's]).
P3-600: 25 seconds
Athlon XP 1700+ (1.45Ghz): 5 seconds
P4 2.8Ghz: 8.8 seconds.
I was surprised to see the Athlon win this by such a wide margin, but I
triple-checked to make sure the machine was idle, and the binaries and
test data were exactly the same (compiled with just -O2).
Anyway, I think I might need to find a less computationally intensive
VAD solution for the conference. VAD is currently only used when
people connect via the PSTN, so they presumably have a decent SNR, and
I may be able to get away with an energy envelope type of thing,
without needing frequency domain analysis. But before I go and start
coding this, is there any simple optimizations that can be done to the
preprocessor when it is being used only for the VAD decision?
<p><p><p><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