Displaying 20 results from an estimated 2000 matches similar to: "Preprocessor denoise. Does it work?"
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
>
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
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
2014 Jan 08
1
Some Speex AGC Questions
I'm attempting to use speex preprocess for automatic gain control in an
application I'm working on and could use some help.
I'm using Opus as my codec. In order to keep the number of packets down,
I'm using 60msec frames. I'm sampling at 48KHz as is recommended for Opus.
So, the frame length is 2880 samples and the sampling rate is 48000. The
source of the data is a
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
2006 Oct 04
2
Crash in cb_search.c, line 414
Jean-Marc Valin wrote:
>> gcc version 3.4.5 (mingw special)
>
> Can you try 4.0 or 4.1 just to be sure?
mingw (native gcc for win32) doesn't officially support using gcc 4.0
and 4.1 yet (apparantly there have been some issues), so there are no
binary packages. But if you think it helps, I can compile gcc 4.1 and
give it a shot.
>> Compile flags:
>> DEFINES +=
2007 Feb 27
2
Preprocessor denoise. Does it work?
Andy Ross <andy@plausible.org> wrote:
>
> I wrote a trivial squelch feature* in 10 minutes that works
> basically 100% of the time.
>
> * Zero the sample data if the maximum sample in a frame is less than
> 4% of saturation or 20% of the maximum sample yet seen. It's about
> 8 lines of code.
Could you please explain how this differs from VAD?
Tom
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
2005 Sep 22
1
Noise :-(
Hi all,
i use speex preprocessor features in this way:
===================================
#define NN 160 /* 20msec di audio */
...
int tbc=0,c,d,ret;
spx_int16_t TEMP_Buffer[NN];
char DLECODE;
/* Inizializza il preprocessore Speex se non inizializzato */
if(Modem->speex_pp_state == NULL) {
Modem->speex_pp_state = speex_preprocess_state_init(NN,AUDIO_SAMPLERATE);
}
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():
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
2006 Feb 28
1
Dereverberation - is it work?
Hello,
I'm using Speex1.1.11.1 source code.
I enabled dereverb by speex_preprocess_ctl(). I try different dereverb_level and dereverb_decay values and it seems to not work. I generate some test files in CoolEdit using reverb or echo and then preprocess it by speex_preprocess(preprocess, input, NULL); and output is the same as input:(.
Denoising and VAD works very good. I tried dereverb with
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
2005 Oct 11
1
noise when passing trougth speex_preprocess
Hi all,
as in subject, speex_preprocess inject noise in my data. Someone can help ?
Here's the way that i'm using:
#define NN 160 /* 20msec di audio */
#define AUDIO_SAMPLERATE 8000
spx_int16_t TEMP_Buffer[NN];
speex_pp_state = speex_preprocess_state_init(NN,AUDIO_SAMPLERATE);
c = denoise;
speex_preprocess_ctl(speex_pp_state, SPEEX_PREPROCESS_SET_DENOISE,&c);
c = agc;
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
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
2009 May 28
1
DC component coming back after AGC
I'm getting confused, what's the problem exactly? The AGC doesn't remove
the DC or it adds one?
Jean-Marc
Aymeric Moizard a ?crit :
> Hi Jean-Marc & all,
>
> I'm currently working on a wav file with very low volume.
> This wav also contains a DC component.
>
> Using testdenoise with modification (AGC turned on with
> 20000.0 value) I'm able to
2006 Nov 09
2
A few Speex AEC+preprocessor examples
Andras Kadinger wrote:
> I have now found a testcase where SVN AGC starts out good, but then it
> keeps increasing the gain but never decreasing it, and eventually goes
> out through the roof, during the same single recording.
I've been doing massive changes in the svn preprocessor, so I'm not too
surprised I broke the AGC, because I haven't updated it. Did it also do
that in
2007 Jun 26
2
Residual Echo Suppression by the Preprocessor
What is the current status of the residual echo suppressor in the
preprocessor?
I ask this because I have occasional problems with the AEC, in which it
fails to cancel echo. I think the problems have to do with samples being
dropped by the audio IO system, which is effectively impossible to
detect and counteract reliably.
A colleague recommended using an echo suppression technique (which he
2007 May 03
3
iaxclient & speex
Hi
The latest SVN trunk for speex has changed the SpeexPreprocessState to
an opaque structure, for jolly good software engineering reasons.
However, the Analogue AGC (AAGC) feature of iaxclient (in audio_enode.c)
relies on some members of this. It uses speech_prob to detect when
there is enough speech to consider AAGC and then loudness2 to decide how
to adjust the input mixer. We want to use