wpctl

WirePlumber audio control tool

TLDR

List objects
$ wpctl status
Inspect object
$ wpctl inspect [id]
Set default
$ wpctl set-default [id]
Get volume
$ wpctl get-volume [id]
Set volume
$ wpctl set-volume [id] [n]%
Adjust volume
$ wpctl set-volume [id] [n]%[+|-]
Set volume with limit
$ wpctl set-volume -l 1 [id] [n]%+
Mute toggle
$ wpctl set-mute [id] [1|0|toggle]

SYNOPSIS

wpctl COMMAND [OPTIONS]

DESCRIPTION

wpctl manages WirePlumber, the session and policy manager for PipeWire. It controls audio routing, volume, and device selection.The special name @DEFAULT_SINK@ can be used instead of numeric IDs to target the current default sink.

PARAMETERS

-l, --limit MAX

Limit volume to maximum
@DEFAULT_SINK@
Special name for default sink

COMMANDS

status

List all managed objects
inspect ID
Print object properties
set-default ID
Set default for group
get-volume ID
Get sink volume
set-volume ID LEVEL
Set sink volume
set-mute ID STATE
Set mute state

INSTALL

sudo apt install wireplumber
sudo dnf install wireplumber
sudo pacman -S wireplumber
sudo apk add wireplumber
sudo zypper install wireplumber
brew install wireplumber
nix profile install nixpkgs#wireplumber

CAVEATS

Requires WirePlumber running. Object IDs may change between sessions. Volume percentages can exceed 100% unless limited.

SEE ALSO

wireplumber(1), pw-cli(1), pactl(1)