Add a noise suppressed microphone

This commit is contained in:
SirBlob committed 2026-10-10 23:11:31 -04:00
1 parent 72d6a8f509
commit 6b82ea259c
4 files changed
+43 -2

No files matched your search

@@ -0,0 +1,35 @@
context.modules = [
{
name = libpipewire-module-filter-chain
flags = [ nofail ]
args = {
node.description = "Noise Suppressed Microphone"
media.name = "Noise Suppressed Microphone"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 50.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.blob_noise_suppression"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "blob_noise_suppression"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]
+6 -1
View File
@@ -53,7 +53,12 @@ with `--check`.
resolves cannot cost you the other hundred and the config, service and login
steps below. See [packages.md](packages.md).
4. **Config** is copied into `~/.config`: `hypr/`, the themed app configs,
`blob/shell.json`, the uwsm environment, and `fontconfig/fonts.conf`. A
`blob/shell.json`, the uwsm environment, `fontconfig/fonts.conf`, and
`pipewire/pipewire.conf.d/50-blob-noise-suppression.conf`. That last file
adds a "Noise Suppressed Microphone" input, which runs the default
microphone through RNNoise from `noise-suppression-for-voice`; PipeWire
loads it at its next start, and apps use it when it is picked as their
input. A
leftover Omarchy icon font in `~/.local/share/fonts` is removed, and the
font cache is refreshed. The shell draws every icon as a Nerd Font glyph in
the `monospace` family, and on a fresh Arch install
+1
View File
@@ -56,6 +56,7 @@ pipewire-pulse
wireplumber
alsa-utils
lsp-plugins-lv2
noise-suppression-for-voice
# Power and thermals
power-profiles-daemon
+1 -1
View File
@@ -107,7 +107,7 @@ if [[ -L $HOME/wallpapers ]]; then
say "remove ~/wallpapers symlink"
fi
for relative in blob/shell.json uwsm/default uwsm/env.d/10-blob; do
for relative in blob/shell.json uwsm/default uwsm/env.d/10-blob pipewire/pipewire.conf.d/50-blob-noise-suppression.conf; do
restore_or_remove "$config_dir/$relative" "$relative"
done