[Speex-dev] General pre-processing prior to feeding sound
Jean-Marc.Valin at USherbrooke.ca
Wed Mar 2 21:24:43 PST 2005
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 :
> 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...
> Speex-dev mailing list
> Speex-dev at xiph.org
Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Ceci est une partie de message
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20050303/0788b6af/attachment.pgp
More information about the Speex-dev