Pulseaudio usage

From wikinotes

Documentation

man pulse-cli-syntax https://man.archlinux.org/man/pulse-cli-syntax.5
default devices https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/DefaultDevice/

Startup

pulseaudio should automatically start at user login.
It is managed in a user systemd service.

Check it's logs/status with

systemctl --user status pulseaudio
systemctl --user restart pulseaudio
journalctl --user -u pulseaudio

alternatively, you can use pulseaudio directly

pulseaudio -k       # kill pulseaudio
pulseaudio --start  # restart pulseaudio

Console Clients

pactl

pactl is a newer official alternative to pacmd.
The pulseaudio docs encourage it's use over pacmd.

man pactl

pacmd

pacmd is the original cli interface to pulseaudio.
You should avoid using it if possible.

pacmd --help | less
pacmd set-default-sink ${SINK_NAME}            # change default speakers
pacmd set-default-source ${SOURCE_NAME}        # change default mics

pacmd list-sink-inputs                         # all played audio streams
pacmd list-source-outputs                      # all recorded audio streams

pacmd move-sink-input ${ID} ${SINK_NAME}       # move played audio stream to output device
pacmd move-source-output ${ID} ${SOURCE_NAME}  # move recorded audio stream to input device

pacmd set-sink-input-mute   ${ID} 0/1          # mute/unmute sink

pacmd set-sink-input-volume ${ID} 0xffff         # set volume (first byte is vol, 2nd byte is DB)
                                               # 0x40ff: 25% vol
                                               # 0x80ff: 50% vol
                                               # 0xc0ff: 75% vol

# list sample-rate of each output sink
pacmd list-sinks | grep -e 'index:' -e 'name:' -e 'sample spec:'
less /proc/asound/card0/pcm0p/sub0/hw_params

UI Clients

pavucontrol gui pulseaudio control
ncpamixer tui puleaudio control (duplicates pavucontrol-qt in console)

Equalizers

pulseaudio equalizer ladspa gui equalizer
pulseaudio-equalizer gui equalizer (deprecated)