Add a noise suppressed microphone
This commit is contained in:
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
@@ -53,7 +53,12 @@ with `--check`.
|
|||||||
resolves cannot cost you the other hundred and the config, service and login
|
resolves cannot cost you the other hundred and the config, service and login
|
||||||
steps below. See [packages.md](packages.md).
|
steps below. See [packages.md](packages.md).
|
||||||
4. **Config** is copied into `~/.config`: `hypr/`, the themed app configs,
|
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
|
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
|
font cache is refreshed. The shell draws every icon as a Nerd Font glyph in
|
||||||
the `monospace` family, and on a fresh Arch install
|
the `monospace` family, and on a fresh Arch install
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ pipewire-pulse
|
|||||||
wireplumber
|
wireplumber
|
||||||
alsa-utils
|
alsa-utils
|
||||||
lsp-plugins-lv2
|
lsp-plugins-lv2
|
||||||
|
noise-suppression-for-voice
|
||||||
|
|
||||||
# Power and thermals
|
# Power and thermals
|
||||||
power-profiles-daemon
|
power-profiles-daemon
|
||||||
|
|||||||
+1
-1
@@ -107,7 +107,7 @@ if [[ -L $HOME/wallpapers ]]; then
|
|||||||
say "remove ~/wallpapers symlink"
|
say "remove ~/wallpapers symlink"
|
||||||
fi
|
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"
|
restore_or_remove "$config_dir/$relative" "$relative"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user