[Speex-dev] General pre-processing prior to feeding sound to speex.

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Wed Mar 2 21:24:43 PST 2005

Hi David,

The Speex unstable (1.1.x) branch includes a denoising algorithm. The
header file is speex_preprocess.h (also contains a VAD and AGC) and you
can see how to use it in the speexenc.c code. Should get rid of
stationary background noise.


Le jeudi 03 mars 2005 à 17:49 +1300, David Preece a écrit :
> Hi,
> I have speex running as a part of a voice conferencing app. Well, one 
> under development anyway.
> I'm running VBR at quality 3 and get a "hissy-squelchy" background 
> noise. This is fine, kinda, because the internal microphone in the 
> laptop picks up hiss, the sound of the (actually very quiet) hard drive 
> and generally speaking is of less than exemplary quality.
> To help disguise this I've been implementing various 'amplifier' style 
> sample tricks including:
> * A pre-amplifier.
> * A self adjusting pre-amp that aimed for a target RMS (did an 
> astounding job of listening to the roadworks outside).
> * A compressor.
> * A compressor that "expanded" at the bottom end of the range.
> * A noise floor implemented on a per-frame basis.
> All, apart from the noise floor, were essentially useless. The noise 
> floor had a kinda savage cut in/cut out thing going on. Understandably.
> I've also noticed in the mailing list archives various references to 
> speex 'training' itself to it's input - leading me to think that 
> perhaps all of the above are wasted efforts because speex itself knows 
> more about what it would like it's input to look like.
> So I guess my main question is: what are the best ways to pre-process 
> sound prior to feeding it to speex?
> I was also wondering about implementing a hiss removal filter of some 
> description. To my eyes this would involve fft'ing everything then 
> removing any frequencies below a certain threshold. Is this likely to 
> work? And if so, presumably speex fft's everything before going to work 
> compressing for real - should I 'just' write some description of hook 
> into speex itself?
> I have some confusion about packing multiple frames into one packet, 
> but that can be another thread...
> Cheers,
> Dave
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20050303/0788b6af/attachment.pgp

More information about the Speex-dev mailing list