../𝚂𝚃𝚇
source

pulseaudio user notes

Published 2020-08-12, last edit 2020-08-14

When in doubt, pavucontrol can save you/check all mic and speaker sources.

0.1. interfaces #

interface program
cli ponymix
gui pavucontrol
tray pasystray

0.2. mute noise from a stream #

1. EXTREMELY* useful for video calling. Relies on nix and tazjin’s monorepo: #

nix-build -E '(import (builtins.fetchGit "https://cl.tvl.fyi/depot") {}).tools.nsfv-setup'
./result/bin/nsfv-setup

Then, in pavucontrol, your audio sinks will have a “LAPSPA Plugin Noise Detector on <sink name>” option added – just point your application output to it and voila! Remove background noise from video calls and other things.

tazjin notes there may be an issue with this out of the box though:

I have this issue on one machine and simply run a shell loop that re-runs the script every ~5 minutes or so, which is unnoticeable and keeps it from drifting

1.1. TODO Split an audio source so it can go to a stream and your local speakers #

Some leftover notes from when I was last messing with this with OBS.

pactl list short sinks

# add a null sync
pactl load-module module-null-sink
# => 25

pactl load-module module-combine-sink slaves=<number>,<name>

 2      alsa_output.pci-0000_00_1f.3.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING

pactl load-module module-combine-sink slaves=25,alsa_output.pci-0000_00_1f.3.analog-stereo
pactl load-module module-combine-sink slaves=25,null
pactl load-module module-combine-sink slaves=25,analog-stereo

# number is the output of the above
# name is the internal name of the output you want to use on obs?

1.2. TODO Split an audio source so it can go to a stream and your local speakers #

Some leftover notes from when I was last messing with this with OBS.

pactl list short sinks

# add a null sync
pactl load-module module-null-sink
# => 25

pactl load-module module-combine-sink slaves=<number>,<name>

 2      alsa_output.pci-0000_00_1f.3.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING

pactl load-module module-combine-sink slaves=25,alsa_output.pci-0000_00_1f.3.analog-stereo
pactl load-module module-combine-sink slaves=25,null
pactl load-module module-combine-sink slaves=25,analog-stereo

# number is the output of the above
# name is the internal name of the output you want to use on obs?