Terminal-based audio mixer for PipeWire with volume control, device routing, and configuration management.
wiremix is a terminal user interface (TUI) audio mixer specifically designed for PipeWire audio systems. It provides comprehensive audio management capabilities including volume adjustment, audio routing between devices and applications, and configuration of audio device settings such as input/output ports and profiles. The interface is modeled after ncpamixer and pavucontrol, offering familiar navigation for users of those tools.
The mixer operates through a tabbed interface with sections for playback, recording, output, input, and configuration management. Users can navigate using keyboard shortcuts (arrow keys, hjkl vim-style bindings) or mouse input, with features like mute toggling, default device selection, and audio peak monitoring. The tool supports audio routing through dropdown menus accessible via the 'c' key, allowing users to redirect audio streams between different destinations.
wiremix includes extensive customization options through TOML configuration files. Users can modify keybindings, define custom character sets for different terminal compatibility levels, create themes for visual appearance, and implement template-based naming schemes for audio streams and devices. The configuration system allows overrides for specific devices or applications, enabling fine-tuned control over how different audio sources are displayed and managed.
The tool is primarily targeted at Linux users running PipeWire who need granular control over their audio setup. It supports command-line options for remote PipeWire connections, frame rate control, volume limits, and various display modes including audio peak visualization and lazy capture for reduced CPU usage on systems with many audio nodes.
# via Arch Linux
pacman -S wiremix
# via Nix
nix run nixpkgs#wiremix
# via Gentoo
emerge -av wiremix
# via Fedora
dnf in wiremix
# via Cargo
cargo install wiremix