Issue:
While using Pulseaudio on my install I was able to use the microphone on all games and apps, however my mic picks up a lot of background noise (keystrokes, breathing, chair creaking etc.). Super annoying noises if I need to record vocal stuff for video or talk to people in games.
Solution:
Switched from Pulseaudio to Pipewire.
I attempted to minimize the background noise by using a physical pop filter, altering the mic volume, installing Pulseeffects for a noisegate and so on. None of these seemed to work, Pulseeffects gate feature had no effect on the mic (neither did any other effects I tested actually).
After doing some research I stumbled on Noisetorch, after doing some background checks into the past “security incident” and feeling comfortable enough to give it a shot I installed the program.
Worked like a dream at removing all of the background noise…with 1 big issue, there was ~3-4 seconds of lag between saying something and that audio being output (tested in OBS). This is annoying while trying to sync voice-over with a video in real-time and unusable in any games where quick communication is important.
Unloading Noisetorch and switching the mic back to default in OBS instantly stopped the lag.
I tried various tweaks I saw while researching the issue but nothing helped with making the noisegating real-time.
I gave up for a while until the background mic noise reached peak annoyance.
I decided to switch my install from Pulseaudio to Pipewire as a test, the switch was super easy on my Manjaro install.
Just a case of using the software updater to install manjaro-pipewire which removed the Pulseaudio pieces and installed the Pipewire pieces including pipewire-pulse. I ticked all of the extra install options as the Pulseaudio analogs were being removed and I figured I should have their Pipewire alternatives.
Install/switch took ~30 seconds and I rebooted, everything was working straight away.
I reinstalled Noisetorch (it had to be uninstalled to remove Pulseaudio!), ran my OBS test again…noise reduction is working, no noticeable delay at all.
Running the output monitor was actually kind of difficult as there was not enough delay to actually hear the mic over me speaking, I had to crank up the earphone volume to make sure the mic was actually working.
Interestingly the Pipewire switch also fixed a VLC issue I had where audio would skip every few seconds.
Made a snapshot of the system pre-pipewire just in case, now time to make a post-pipewire snapshot to cover my ass in case something has broken and I haven’t noticed yet.