14

I'm trying to use a 3.5 jack microphone in Ubuntu 14.04, the problem is that Ubuntu doesn't have noise suppression by default, so I got a very loud static noise.

  • I installed libwebrtc-audio-processing-0 and libwebrtc-audio-processing-dev and tried to activate it using pactl load-module module-echo-cancel aec_method=WebRTC, but I got an error:

    Failure: Module initialization failed

  • I also tried to enable it in /etc/pulse/default.pa with:

    load-module module-echo-cancel source_name=echosource aec_method=webrtc
    set-default-source echosource
    

    But it makes the sound applet crash, and doesn't work anyway.

How I can make this work?

user.dz
  • 48,105
Removed
  • 3,698
  • Did you read this http://www.reddit.com/r/linux/comments/2yqfqp/just_found_that_pulseaudio_have_noise/ ? – 0x2b3bfa0 Apr 05 '15 at 10:40
  • Yes, didn't work. – Removed Apr 10 '15 at 23:37
  • 4
    It's much better to reduce the noise in the electrical circuit than to try to process it out with software. Do you have another microphone to test, or other equipment to test the microphone with? You must match the microphone's impedance and output level to the input of the sound card using a cable that's electrically correct, not damaged, and shielded appropriately. My first thought with the symptoms you describe might be either that the microphone cable is no good, or you have the microphone connected to an inappropriate input compared to the microphone's impedance or output level. – Tommy Trussell Apr 13 '15 at 19:28
  • Try this, I wish this this will help you http://askubuntu.com/questions/421671/microphone-static-background-noise-suppression – Abhinav Khajuria Apr 17 '15 at 11:04
  • Does this help at all: http://askubuntu.com/questions/421671/microphone-static-background-noise-suppression/497559#497559 – coreyd Apr 18 '15 at 20:48
  • It doesn't work because of this bug https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1261666 –  Apr 24 '15 at 19:08

2 Answers2

1

First off, let me tell you my qualifications: I have a degree in electronic engineering, a degree in audio engineering, and 23+ years experience doing both and as an IT professional. I say this not to brag, but so you will understand what qualifies me to give the advice I'm going to give you.

The very first thing I'd tell you to do is try the microphone on a different device or computer - one that you KNOW for a fact works, preferably in the same location that you are trying to use the system that has the problem. That will eliminate the mic and location as possible causes of your problem. Since you are using the standard headphone-style jack, I can tell you that things like florescent lights are picked up by the cord like an antenna, and they are VERY noisy. The microphone's cable should be shielded, but often times they are not, and this allows EM noise (like that from the aforementioned lights) to be picked up and converted to audio noise far more easily than many people realize.

Also try recording with nothing plugged in to the card (no sound source). That will make sure the recording circuits and driver of your sound card aren't the issue. If you are using a player of some kind instead of a microphone, you may be sending too strong a signal in, especially if you don't have separate microphone and line in jacks. Sending a line-level signal into a Microphone input will cause severe distortion that sounds a lot like static. If this is the case, turn the volume down - WAY down - and pray you haven't blown the input on your sound card.

It's possible you don't have exactly the right driver for your sound card. Playback, which is (of course) the most commonly used section of a sound card, is far easier to develop a driver for (or so I'm told - I'm not a programmer) because so many of them use the same DAC (Digital to Analog Converter) chip. It is also more forgiving of minor variations from card to card because the conversion from digital to analog is so basic and straight forward, electronically speaking. As long as the data gets to the DAC properly, there isn't much more for the driver to do, and that is more or less done the same way by all sound cards, so a generic driver works pretty well for that side of things.

Recording is a far more difficult process because ADC (Analog to Digital Converter) chips are more expensive and therefore more varied from card to card. The noise you are getting can EASILY be caused by the recording circuit of your sound card not being initialized properly due to the wrong driver. If you can't find a driver for your exact sound card, try to find an old Sound Blaster 16 (or compatible) card and put it in your system. The system will have the proper driver for that built in since it's such a standard in the sound card world.

Good luck!

  • 2
    What does this have to do with enabling noise suppression in Ubuntu? – Seth May 09 '15 at 04:06
  • 1
    No OS has "noise suppression". Noise is counteracted / suppressed by the hardware, unless you have specalized audio software. Even that is not real-time, it processes saved files and "removes" the noise. That's what it has to do with it. – Soaring Eagle May 12 '15 at 03:05
  • Noise can be canceled by software in realtime (software decides how to interpret the hardware's input, after all), and the most common audio driver in Windows does in fact cancel echoes. The software Dennis is trying to use for this on Linux does in fact exist (https://www.reddit.com/r/linux/comments/2yqfqp/just_found_that_pulseaudio_have_noise). – Brilliand Feb 25 '16 at 05:28
  • Noise suppression in software introduces small delay, so it is near-realtime. – user7610 Dec 24 '16 at 20:25
0

While some of the other responses are useful, they seem to miss the most common issue with microphone background noise, and that is the base volume.

Many people set the base volume on the microphone to full. This overdrives the sound when there is sound, and makes noise when there isn't. This is largely because most of us have grown dependent on software, drivers and devices that make this adjustment for us.

The simplest solution is to load a volume gauge program and speak into the microphone, adjusting the volume until it hits the ideal range, but does not hold at the peak too long. A more sophisticated method would be to use an audio program (such as audacity) with clip detection to detecting overdriving and then adjust the microphone until you are the point that you rarely if ever get waveform clipping.