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 library is no freeing all the resources it uses. (I'm calling the speex_encoder_destroy and speex_decoder_destroy functions after every RTP session is finished). I'll apreciate a lot your help, thanks a lot!! <p>Gabriel _________________________________________________________________ MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
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 tangential to my question- I was wondering what the following function is supposed to be used for: speex_preprocess_estimate_update(....) I couldn't find anywhere in the code that references it- it appears to update the noise estimate without denoising anything- ? If so, does this need to be called for AGC to work, or? Thanks, Tom --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Make sure you are using the last version (try both 1.0.3 and 1.1.5 if possible). Also, how can you say the increase is caused by Speex? Did you use a memory profiling tool (like valgrind)? If so it would help to look at the line causing the leak. Also, note that Speex only allocates a couple kB each time, so even if you don't destroy anything, the leak would still be relatively small. Jean-Marc Quoting Gabriel Viganotti <gabrielviganotti@hotmail.com>:> 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 > > library is no freeing all the resources it uses. (I'm calling the > speex_encoder_destroy and speex_decoder_destroy functions after every RTP > session is finished). > > I'll apreciate a lot your help, thanks a lot!! > > > Gabriel > > _________________________________________________________________ > MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ > > --- >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@xiph.org' > containing only the word 'unsubscribe' in the body. No subject is needed. > Unsubscribe messages sent to the list will be ignored/filtered. > ><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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Hi, The speex_preprocess_estimate_update(....) function is only used when you want to perform adaptation without running the denoiser (e.g. when using push-to-talk). In most cases, you probably won't need it though. Second thing, if you want to make adaptation slower, look for a modulo (%) in the code and increase the value next to it (default is %100 or something like that). As for the VAD, it's a really difficult problem because 1) the latency is small and 2) some people want different things from it (some want it to transmit everything but the stationary background noise, others want only speech). BTW, VAD doesn't need to be after the denoiser since it estimates the noise anyway... Jean-Marc Quoting Tom Harper <tharper@sightspeed.com>:> 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 tangential to my > question- > > I was wondering what the following function is supposed to be used for: > speex_preprocess_estimate_update(....) > > I couldn't find anywhere in the code that references it- it appears to > update > the noise estimate without denoising anything- ? If so, does this need to > be called for AGC to work, or? > > Thanks, > Tom > > --- >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@xiph.org' > containing only the word 'unsubscribe' in the body. No subject is needed. > Unsubscribe messages sent to the list will be ignored/filtered. > ><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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
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 tangential to my > question- > > I was wondering what the following function is supposed to be used for: > speex_preprocess_estimate_update(....) > > I couldn't find anywhere in the code that references it- it appears to > update > the noise estimate without denoising anything- ? If so, does this > need to > be called for AGC to work, or?<p>Beats me :) I've found the denoiser to work very well on open-air microphones. <p>One thing I've found in using the preprocessor that I need to find a solution for is that sometimes the denoiser is incorrectly detecting speech as noise. This happens when a speaker speaks for a while, and the denoiser tries to remove their intonation (i.e. the sound of their voicebox; the vowels). The result is that towards the ends of sentences, their voice gets "thinned" out. I'd like to find out how to "slow down" the rate of adaptation within the denoiser to make this less likely to happen. I assume that the tradeoff is that it will adapt more slowly to changing noise patterns (or initial noise). I'm just not sure where to do that; maybe if I had the "Cohen Paper" it would help :) -SteveK> > Thanks, > Tom > > --- >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@xiph.org' > containing only the word 'unsubscribe' in the body. No subject is > needed. > Unsubscribe messages sent to the list will be ignored/filtered. >--- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.