Displaying 20 results from an estimated 3000 matches similar to: "Preprocessor denoise. Does it work?"
2007 Feb 27
2
Preprocessor denoise. Does it work?
There are many ways to implement a VAD. What you described is actually
perfectly equivalent to the most trivial (and least robust) VAD algorithm.
Jean-Marc
Andy Ross wrote:
> Ton Grandgent wrote:
>> Andy Ross wrotte:
>>> I wrote a trivial squelch feature* in 10 minutes that works
>>> basically 100% of the time.
>> Could you please explain how this differs from
2007 Feb 27
2
Preprocessor denoise. Does it work?
Jean-Marc Valin wrote:
> Andy Ross wrote:
> > Uh, production applications almost always require squelch, no?
>
> Some do, some don't. In general, distinguishing between a keyboard
> and a speech transient is next to impossible based only on a few ms
> of speech.
That is true for distinguishing it by waveform, but not by amplitude.
As I mentioned, these transients are
2007 Feb 27
2
Preprocessor denoise. Does it work?
I'm having trouble with the preprocessor's noise reduction feature.
The basic issue is that it simply doesn't work very well.
With my laptop (whose microphone is otherwise quite capable) I
routinely hear transient background noise, typing, and other "quiet"
sounds leaking through to the speex stream. Even worse, the AGC
feature is blowing these things up into just awful
2007 Feb 27
3
Preprocessor denoise. Does it work?
Jean-Marc Valin wrote:
> The noise suppressor will only attempt to remove stationary noise,
> such as thermal noise, fans, ... The AGC can indeed do strange
> things in these cases, but it's been improved in svn (compared to
> 1.2beta1).
OK, then the problem is that I misunderstood the feature. I assumed
that dynamic squelch was part of it, but it's really something more
2007 Feb 27
0
Preprocessor denoise. Does it work?
Andy Ross <andy@plausible.org> wrote:
>
> Tom Grandgent wrote:
> > Andy Ross wrote:
> > > I wrote a trivial squelch feature* in 10 minutes that works
> > > basically 100% of the time.
> >
> > Could you please explain how this differs from VAD?
>
> Not knowing how VAD works, I can't say for sure. But enabling
> VAD wasn't catching
2007 Feb 27
0
Preprocessor denoise. Does it work?
Jean-Marc Valin wrote:
> Andy Ross wrote:
> > Not knowing how VAD works, I can't say for sure.
>
> There are many ways to implement a VAD.
I meant "not knowing how speex's VAD works", of course, not VAD
in general. If you would stop interpreting everything I say in
the least charitable manner, this might be going more smoothly
than it is.
(Tom was right, by the
2007 Feb 27
0
Preprocessor denoise. Does it work?
> That is true for distinguishing it by waveform, but not by amplitude.
> As I mentioned, these transients are objectively tiny.
*Your* transients may be "tiny" and in any case, it doesn't help if you
don't know the level you're recording at.
I guess I'd be
> curious as to which voice codec applications require no squelch (other
> than trivial examples
2007 Feb 27
0
Preprocessor denoise. Does it work?
> OK, then the problem is that I misunderstood the feature. I assumed
> that dynamic squelch was part of it, but it's really something more
> along the lines of active noise cancellation. That's fine, I'll work
> on improving my own squelch code.
No. Active noise cancellation is yet another thing, where you cancel the
noise in the "acoustic world" by
2007 Feb 27
0
Preprocessor denoise. Does it work?
Andy Ross a ?crit :
> I'm having trouble with the preprocessor's noise reduction feature.
> The basic issue is that it simply doesn't work very well.
>
> With my laptop (whose microphone is otherwise quite capable) I
> routinely hear transient background noise, typing, and other "quiet"
> sounds leaking through to the speex stream. Even worse, the AGC
>
2005 Jan 18
1
voice activity detection
Yes, you can use it independently by using speex_preprocess().
This function can do noise removal, AGC, and VAD. I've been
using it to do all three and it usually works very well. There
can be a train going by outside, producing lots of sound that
makes it through the noise filter, and yet the VAD knows it's
not speech.
However, sometimes the VAD seems to get into a bad state and
2004 Aug 06
2
preprocessor performance (was Re: Memory leak in denoiser + a few questions)
Jean-Marc Valin wrote:
>If you set the denoiser to "on" and the VAD to "off", what difference
>does it make in CPU time?
>
<p>Same program, running on Athlon XP 1700+:
Test 1, using VAD, but AGC, denoise off:
tevek@canarsie:~/work/hms/app_conference $ time ./vad_test
/tmp/demo-instruct.sw 5
reading from /tmp/demo-instruct.sw, repeating 5 times
read 537760
2005 Jun 22
1
Speech detection in preprocessor with echo
agc_gain seemed to fit with the idea of what I wanted to do, it was
easy to understand its units and behavior, and freezing it produced
the desired results. Also I wanted to cap it, so that's done at the
same place, and that definitely works.
All I want to do is be able to freeze AGC adaptation and put an
upper bound on the AGC (for example, 2x amplification). Both of
these things seem
2005 Mar 08
1
VAD with speex_preprocess()
speex_preprocess() isn't covered in the manual, is it? But, it's very
easy to use. If it returns non-zero, voice was detected.
Tom
"Meir Yeshurun" <mt_yeshurun@hotmail.com> wrote:
>
> I would like to use speex_preprocess() for voice activity detection. I read
> the comments in speex_preprocess.h and the relevant paragraphs in the Speex
> manual. Is there
2004 Aug 06
1
speex preprocess redux
I'm not sure if this is due to the same problem, but I get the
same clipping behavior when trying to use VAD+denoiser on a
particular mic+speaker setup that has significant background noise
(enough to really foul up the codec should the denoiser be turned
off.) Leaving VAD off and transmitting continuously seems to be
the only way to avoid this clipping.
Another person I regularly
2008 Dec 11
1
preprocessor VAD only rocognize between silence and not silence
Hello,
in my project im using speex 1.2rc1 and the preprocessor VAD seems to
only separate complete silence from not complete silence frames.
The Speex Manual, you can read "The voice activity detector (VAD)
provided by the preprocessor is more advanced than the one directly
provided in the codec."
but if you go to the source code in preprocess.c line 995 "/* FIXME:
This VAD
2005 Apr 26
1
tgAudioCodec.zip
Jean-Marc,
Ok, I understand. It's floating point but I don't have a mechanism
in place yet to capture the source data. I'll do that, reproduce the
problem, and put together a minimal sample program that can reproduce
it given a data file.
Thanks,
Tom
Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> wrote:
>
> Hi Tom,
>
> In order to trace the problem,
2005 Apr 26
1
tgAudioCodec.zip
I have (finally) posted my Speex wrapper classes. They are at:
http://www.grandgent.com/spx/tgAudioCodec.zip
I followed your recommendations and they worked fine with 1.1.0.
However, I'm still having the same problem with 1.1.7 that I had the
last time I tried to upgrade. I'm using the same code with both versions,
except for calling speex_encode_int instead of speex_encode, and
2004 Aug 06
1
draft-herlein-speex-rtp-profile-01
Ok, I figured it out. :) This seems to work:
1) Call speex_bits_read_from() once, specifying the location in
memory of the compressed data, and the total length of that data.
2) Keep calling speex_decode() until speex_bits_remaining()
returns 0.
Then you don't have to keep track of the # of frames per packet,
or the size of each compressed frame. It's done magically by the
codec.
2010 Jun 05
2
Denoise causing drain pipe effect in audio
On 06/04/2010 07:37 PM, Jean-Marc Valin wrote:
> On 10-06-04 05:16 AM, Gurinder Singh wrote:
>
>> I have been developing an audio application using Speex. To reduce the
>> background noise in the captured audio I have enabled the denoise
>> feature and set the noise suppression level to 60.
>>
> There you go, don't do that. There's a reason
2005 Jun 20
1
Speech detection in preprocessor with echo
I think you'll have to modify Speex to get the functionality you're
looking for. I've made a few simple modifications to the AGC to prevent
it from 1) exceeding a specified level of amplification and 2) enable
and disable adaptation, so I can freeze it at a certain level while
speech is not detected. It's mostly just a matter of doing this at the
end of speex_compute_agc():