search for: agc_gain

Displaying 15 results from an estimated 15 matches for "agc_gain".

2005 Jun 20
1
Speech detection in preprocessor with echo
...e 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(): if (!st->agc_frozen) { agc_gain = st->agc_level/st->loudness2; /*fprintf (stderr, "%f %f %f %f\n", active_bands, st->loudness, st->loudness2, agc_gain);*/ if (agc_gain>st->agc_max_gain) /* was 200 */ agc_gain = st->agc_max_gain; /* was 200*/ } else agc_gain = st->agc_gain;...
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...
2004 Aug 06
1
Proposed AGC additions
...g as it listens for something useful. For example, as I tested this today, the faint sound of birds chirping outside was enough to prevent the AGC from spazzing out! Anyway, what I propose are the following commands to let an application interface a little more with the AGC: SPEEX_PREPROCESS_GET_AGC_GAIN SPEEX_PREPROCESS_GET_AGC_MAX_GAIN SPEEX_PREPROCESS_SET_AGC_MAX_GAIN I've implemented these and use them for the following: 1) I display the current AGC gain to the user. 2) If the AGC gain has reached its maximum, I don't transmit any audio. This condition indicates to me that the AGC ha...
2007 May 29
2
Noise suppression less than AGC gain
...ou speak, does the level of the > noise start going up again? > Ah, apologies, I should have mentioned that. This is against current SVN (rev 12997), built on Win32 with mingw gcc 3.4.5 using SSE. Yes, after I stop speaking, the noise slowly starts climbing again, and if I peek at st->agc_gain, that's slowly climbing too. I think part of the trouble is that the noise in here isn't uniform white noise; there's traffic outside the window and people walking in the hallway outside my door. Each little event is enough to cause the AGC to increase a little bit. If I understood...
2007 May 03
3
iaxclient & speex
...easons, so I tried just making SpeexPreprocessState visible again, but it turns out neither of these members are present in the new SpeexPreprocessState_ structure anyway. I was able to re-create the speech_prob member by setting it from Pframe before speex_preprocess_run returns, and I've used agc_gain as the basis for adjusting the mixer (i.e. if agc_gain is high, the input is low, so turn the mixer up and v.v.). This appears to be effective. So is there a way to make these items available to speex clients? The speex_preprocess_ctl interface could be extended, but it's not really what it...
2007 May 29
0
Noise suppression less than AGC gain
> Yes, after I stop speaking, the noise slowly starts climbing again, and > if I peek at st->agc_gain, that's slowly climbing too. I think part of > the trouble is that the noise in here isn't uniform white noise; there's > traffic outside the window and people walking in the hallway outside my > door. Each little event is enough to cause the AGC to increase a little > bit....
2007 May 29
2
Noise suppression less than AGC gain
>> Yes, after I stop speaking, the noise slowly starts climbing again, and >> if I peek at st->agc_gain, that's slowly climbing too. I think part of >> the trouble is that the noise in here isn't uniform white noise; there's >> traffic outside the window and people walking in the hallway outside my >> door. Each little event is enough to cause the AGC to increase a littl...
2008 Feb 21
0
st->nb_loudness_adapt removal patch
...========================================================== --- libspeex/preprocess.c (revision 14530) +++ libspeex/preprocess.c (working copy) @@ -236,7 +236,6 @@ float *loudness_weight; /**< Perceptual loudness curve */ float loudness; /**< Loudness estimate */ float agc_gain; /**< Current AGC gain */ - int nb_loudness_adapt; /**< Number of frames used for loudness adaptation so far */ float max_gain; /**< Maximum gain allowed */ float max_increase_step; /**< Maximum increase in gain from one frame to another */ float ma...
2008 Mar 18
1
Patch to make SPEEX_PREPROCESS_GET_AGC_GAIN use dB, and _SET_AGC_LEVEL use a int32
Hi, The attached patch fixes an incistency in my earlier patch. Whereas the rest of the AGC ctls are in dB, GET_AGC_GAIN was linear. This patch fixes that. It also changes the API for _GET and _SET_AGC_LEVEL to use a int32 instead of a float, meaning we don't need to do a API change when we get a fixed point AGC. Best regards, Thorvald -------------- next part -------------- --- speex/libspeex/preprocess.c 2...
2007 May 03
0
Re: [Iaxclient-devel] iaxclient & speex
...ust making > SpeexPreprocessState visible again, but it turns out neither of these > members are present in the new SpeexPreprocessState_ structure anyway. > I was able to re-create the speech_prob member by setting it from Pframe > before speex_preprocess_run returns, and I've used agc_gain as the basis > for adjusting the mixer (i.e. if agc_gain is high, the input is low, so > turn the mixer up and v.v.). This appears to be effective. > > So is there a way to make these items available to speex clients? The > speex_preprocess_ctl interface could be extended, but it...
2006 Feb 03
0
Leaking audio and AGC/VAD
Hi, The leakage problem you describe is very, very common and you will need to do something to address it. I modified the version of Speex I use to implement an adjustable max gain. If you look at speex_compute_agc in preprocess.c, you will see: if (agc_gain>200) agc_gain = 200; This max of 200 is usually more than enough to amplify leakage which occurs either in the sound hardware or in a headset to the point where it is as loud as normal speech. You can replace this max of 200 with a configurable max gain, which is what I've done....
2007 May 29
2
Noise suppression less than AGC gain
Hi, I've had a small case with noise suppression and AGC. I have a fairly noisy environment here, and with the default parameters, noise suppression works fairly well while I talk. However, when I shut up, AGC starts slowly increasing the gain until it has amplified whatever noise is left to levels about equal to having no filtering at all. As soon as I talk, AGC backs down fairly quick
2008 May 25
3
FFTW3 for libspeexdsp
Hi, Attached is a patch which enables FFTW3 to be used by libspeexdsp. Using SSE, the FFT code is more than twice as fast, and it's 50% faster even without SSE. To enable the library, you'll need to call configure with '--with-gpl-fftw3'. Based on the benchmarking we did, this also changes the default FFT to smallft for floating point implementations when not using FFTW3.
2008 Feb 12
0
Second part of data export patch
Hi, Here are the next two patches for the data export. speex_get_psd should be applied after speex_get_agc_gain (sent in previous mail). It allows applications to get the power spectrum for the signal and the noise estimate. speex_get_prob should be applied last. It allows fetching the speech probability of the current frame (the value that the _PROB_START and _PROB_CONTINUE parameters are compared to i...
2008 Feb 02
0
Patch to make analysis data available.
...===== --- include/speex/speex_preprocess.h (revision 14443) +++ include/speex/speex_preprocess.h (working copy) @@ -182,6 +182,26 @@ /** Get loudness */ #define SPEEX_PREPROCESS_GET_AGC_LOUDNESS 33 +/* Can't get gain */ +/** Get current gain (int32 percent) */ +#define SPEEX_PREPROCESS_GET_AGC_GAIN 35 + +/* Can't set spectrum size */ +/** Get spectrum size for power and noise spectrum (int32) */ +#define SPEEX_PREPROCESS_GET_SPECTRUM_SIZE 37 + +/* Can't set power spectrum */ +/** Get power spectrum (int32[] of squared values) */ +#define SPEEX_PREPROCESS_GET_POWER_SPECTRUM 39 + +/*...