[speex-dev] speex_denoise on non-microphone noise (static ?)

Tongbiao Li tli at viack.com
Thu Sep 18 11:19:46 PDT 2003

Thanks for the speedy response and detailed, enlightening explanation.
Now I understand where the problem is, and will try out your suggestions
just to further confirm my conjecture.


When I am done, I have to take the foil out, though.  This is a product
for our customers to use, and although we've got budget for mulffing
every sound card we developers use, most likely the company won't pay
for a foil per licensed customer.


So I still have to make our denoising work in this field scenario.



-----Original Message-----
From: John Haugeland [mailto:JohnH at senscom.com] 
Sent: Thursday, September 18, 2003 10:43 AM
To: 'speex-dev at xiph.org'
Subject: RE: [speex-dev] speex_denoise on non-microphone noise (static


Take what I say with a grain of salt: I'm an amateur and haven't
actually touched Speex in any way, yet.  I'm just sort of passing on
personal belief from personal experience.  Also, check and make sure
that the microphone line is insulated.


There are a number of problems with sound cards picking up interference
from the host machine.  The wires that run between ICs on a card
essentially act like antennae and furthermore pick up current by
inductance.  High end sound cards are often on an AC97 riser, or wholly
external to the machine, in order to counteract this problem.


Check and see if you can identify the timing of the spikes.  For
example, my old SB16Pro used to pick up noise from the motors of both
the hard drive and the CD-Rom drive; you could hear both spin up over
the speakers if the signal at the time wasn't prohibitively high.


One thing you could do is attempt to insulate your sound card by hand.
I don't know if the interference has any path over the PCI bus, so this
may very well be silly, and I'm not sure if it would help.  Moreover,
adding metal in an uncontrolled fashion to your computer is *begging*
for something to touch something else, and give you a short, potentially
destroying hardware.


That all said, if you're on short time and short budget, you could try
the following (NOT A GOOD IDEA): take a piece of aluminum foil (aluminum
is diamagnetic and therefore has good insulation properties regarding
emf.)  open your case and turn your computer off.  Wrap the foil most of
the way around the card, taking care to leave the foil in a shape that
can be removed without distortion.  Remove the foil, and coat it with a
nonconductive, nonflaking, nonscorching lacquer such as high quality
enamel paint.  Return the coated nonconductive foil.  See if that helps
the signal at all.


Really, unless there's a different problem and I'm just yapping into the
wind, the best thing to do would be to get a sound card that fits into
an AC97 riser, or an insulated sound card, if they exist.  Turtle Beach
and Roland seem like likely vendors.

        -----Original Message-----
        From: Tongbiao Li [mailto:tli at viack.com]
        Sent: Thursday, September 18, 2003 10:37 AM
        To: speex-dev at xiph.org
        Subject: [speex-dev] speex_denoise on non-microphone noise
(static ?)


        The problem started with speech detection.  Speech sections are
detected well.   However, once in a while non-speech sections are also
marked as speech.  The root was finally traced down to microphone static


        Then I pulled the microphone out. Our system still records
noise.  To isolate the problem, I wrote a small app just to open the
device and record raw samples, calls speex_denoise() and outputs both
sample sets.  The noise is still there, with level fluctuating with gain
level, unless "All mute" is chosen.  


        In the case when NO microphone is plugged in, speex_denoise()
smoothes the signal and produces smoother (and even amplifies the
signal) speech like signals.  It seems that speex_denoise( ) is very
sensitive to static noise.


        For regular speech COMBINED with microphone static (or more
precisely, the static detected at the microphone plug, or noise from
inside the PC ... someone help me out here), the noise samples do get
suppressed compared to speech samples. 


        One observation: many noise sequences seem to have a signature
of sharp spikes.


        Anyone have a solution of supressing this type of static?


        Thank you.




<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 at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Speex-dev mailing list