similar to: Preprocessing and Echo Cancellation Notes.

Displaying 20 results from an estimated 3000 matches similar to: "Preprocessing and Echo Cancellation Notes."

2004 Aug 06
2
speex preprocess redux
Tom Harper wrote: > Hi All & Jean Marc, > > Once again I find myself delving into the pre-processing code to fiddle > with the VAD, AGC and denoising code. > > Where i am at is that I have implemented all of Steve Kann's mods, and > they are 90% of the way there in terms of working, except that I am still > having issues denoising open air mics. But that is
2004 Aug 06
0
Re: Preprocessing and Echo Cancellation Notes.
> 1) AGC: This seems to work pretty well in all cases. I had previously > hacked-in the "compander" filter from sox for a similar effect. What > I've noticed is that speex_preprocess's AGC has no "knobs", and it > seems to use an attack/decay that is a lot faster than what I had > chosen from the sox compander, but it works pretty well nonetheless.
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
Memory leak in denoiser + a few questions
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
2007 May 03
2
Re: [Iaxclient-devel] iaxclient & speex
> As you can tell, the AAGC integration with speex was really a classic > hack. Instead of re-creating the hack, what's probably best here is to > integrate AAGC back into speex, and have a proper API. Agreed here. If you can come up with a clean patch to add that feature, it's something I'd like to see in Speex. > For those of you just tuning in, what I call
2004 Aug 06
1
speex preprocess redux
Tom Harper wrote: > Steve, > > The main problem I am having with the system is clipping off the start > of someone's speech when they first start talking- the ends of the > sentences > seem to be handled properly. I am wondering whether this is the fault > of the > audio playback system or whether this is a speex issue- I don't seem to get that; I suppose
2004 Aug 06
4
memory
hi! I'm using the speex library in my RTP project (i'm using GNU ccRTP library). My program creates and destroys speex objects everytime a new RTP connection is made. But, when i test it with a client which create a connection to it one after another, the free memory decrease constantly to the point where the programs execution crash because not more free memory. It seems like the
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 Jun 20
1
Speech detection in preprocessor with echo
Echo cancellation works like a charm, but it seems to confuse the preprocessor a bit. If listening to background music (properly fed through the echo cancellator), the music is removed but the result is still detected as speech even if almost silence remains in the signal. Also, the AGC keeps adjusting to the minute remains in the signal, meaning that sooner or later it will amplify the
2004 Aug 06
2
More Speex (pre-processing) Options
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
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 May 03
4
Re: [Iaxclient-devel] iaxclient & speex
> I hate to be a talker and not a do-er, but I won't be able to write this > myself, probably someone on the iaxclient team could do it. Anyway, let me know if/when someone's working on that. >> Hmm, or does that mean the analogue AGC is actually completely >> independent from the "real" AGC. Any thoughts? >> > > It's actually a bit more
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():
2004 Aug 06
4
Memory leak in denoiser + a few questions
Jean-Marc Valin wrote: >>Reverberation suppression? >> >> > >Basically, it means that if you are in a room with lots of echo (long >decay), I can reduce it a bit. > > > >>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
2004 Aug 06
1
More Speex (pre-processing) Options
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
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
2004 Aug 06
2
More Speex (pre-processing) Options
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
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
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 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