How to Set Up Microphone Noise Suppression on Linux
Practical steps for reducing background noise from a microphone on Linux, including PulseAudio, PipeWire, input level and application checks.
Identify the symptom and environment
Start by recording when the unwanted sound appears. Note whether it happens in one application, such as a video call or voice recorder, or in every tool that uses the microphone. Also record whether the disturbance is constant background noise, a hum, or sound that only appears while you speak.
Check the Linux audio service in use. PipeWire has become common on newer distributions and often runs alongside WirePlumber, while other systems still use PulseAudio. The available controls and module names can differ between these setups, so identify the service before changing settings.
Confirm which input device is selected. A built-in laptop microphone, USB headset, or external audio interface may appear under different names in sound settings. Selecting the wrong input device can make a clean microphone seem noisy or unusable.
Isolate where the fault occurs
Compare applications
Test the microphone in a simple recorder and then in the application where the noise is noticeable. If the recorder sounds clean but a video call sounds noisy, the call application may be applying its own processing or using a different input level.
Check application and browser choices
In browser-based calls, check that the site has permission to use the intended microphone. Some browsers allow selecting a specific input device within the call or site settings. If the browser is using a different device than the system default, the result can include more background noise.
Rule out physical and gain problems
Set the input level to a moderate value before enabling more advanced processing. A very high input level can make quiet room noise more audible, while a very low level may encourage an application to boost the signal. Move the microphone slightly farther from fans, keyboards, or other sound sources and test again.
Try reversible fixes in order
Use desktop sound settings first
Open the sound settings for your desktop environment and select the Input tab. Choose the correct input device and reduce the input level if the meter stays near maximum during normal speech. Speak at a normal distance and watch whether the level responds without staying constantly high.
Load a noise suppression module with PulseAudio
On a system using PulseAudio, a noise reduction module can be activated from the command line. The usual form uses module-echo-cancel with aec_args set to enable noise suppression. Distribution package names and module availability vary, so confirm that the required module is installed for your distribution.
pactl load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="noise_suppression=1"
After loading the module, open the sound settings again and look for the newly created echo-cancelled source. Some versions name it with a suffix such as echo cancel or voice processing. Select that source as the microphone in the application you are testing.
Use PipeWire noise suppression
On PipeWire systems, noise suppression may be available through a filter-chain module. The exact setup depends on the installed PipeWire version and configuration layout. Create a user configuration that defines a filter chain, loads the built-in noise suppression plugin, and connects it to the real microphone source. If the plugin is not present in your build, check the distribution package that provides PipeWire filter-chain support.
Keep a copy of the original configuration before editing. Use a temporary test configuration and restart the PipeWire user service or pipewire-pulse service only as directed by your distribution, so a mistake can be reverted.
Match the sample rate if needed
When a filter chain or echo-cancel module produces no output, compare the sample rate expected by the processing module with the device setting. Some modules require the device and filter to run at the same format. Check your distribution's documentation for the supported sample rate rather than changing it without a reason.
Confirm the result
Record a short clip in a simple recording tool while the selected source is active. First record silence with the usual room conditions, then speak a few sentences. Play the recording back and compare it with the recording made before the change. Listen for reduced steady background noise while speech remains intelligible.
Repeat the test in the application where the problem appeared. In a browser call, use the browser or site device picker to select the processed source if it is not selected automatically. Ask the other participant whether the background noise decreased without making your voice distorted.
If the problem remains
Write down which source, sample rate, and input level you used, and whether the problem was present in all applications or only one. That information is useful when checking distribution notes or asking for help.
Try a different physical microphone if one is available. A noisy cable, adapter, or microphone input can create symptoms that software suppression cannot remove. If a second microphone works normally with the same settings, the problem is more likely related to the original device or its connection.
If the processed source is unavailable, check that the required audio service package is installed and that its version supports the module or plugin you tried. Do not download unknown drivers or disable system security features. If the microphone remains noisy on multiple devices or the audio service reports errors, contact your distribution support channel or the hardware vendor with the observations you recorded.