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

John Haugeland JohnH at senscom.com
Thu Sep 18 11:16:25 PDT 2003



Understand that it's a *guess*.  If this fixes or at least betters the
situation, you're going to need to find a legit way to insulate these cards,
or to switch cards.  If it's for customers, I should hope you wouldn't be
using enamelled aluminum foil.  :D

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

<p><p>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 noise.

 

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