# wiremix

> TUI audio mixer for PipeWire that controls volumes, routes audio between devices and applications, and configures audio settings.

Stars: 1.1k · Language: Rust · License: Apache-2.0 · Categories: System

- Repository: https://github.com/tsowell/wiremix
- Page: https://www.trmn.sh/tools/wiremix

## Install

- Arch Linux: `pacman -S wiremix`
- Nix: `nix run nixpkgs#wiremix`
- Fedora: `dnf in wiremix`
- Cargo: `cargo install wiremix`

## Overview

wiremix is a terminal user interface audio mixer built specifically for PipeWire audio systems. It provides comprehensive audio control capabilities including volume adjustment, audio routing between devices and applications, and configuration of audio device settings like input/output ports and profiles. The interface closely mirrors ncpamixer and pavucontrol, making it familiar to users of those tools.

The tool operates through five distinct tabs: playback, recording, output, input, and configuration. Users can navigate with keyboard shortcuts (hjkl/arrow keys), adjust volumes with incremental controls or direct percentage settings (0-9 keys for 0%-100%), toggle mute states, set default audio sources/sinks, and route audio streams to different destinations through dropdown menus. Mouse support is included for all operations.

wiremix offers extensive customization through TOML configuration files. Users can modify keybindings, create custom themes and character sets for different terminal compatibility levels, implement filters to hide specific PipeWire objects based on properties, and customize display names using a template system that pulls from PipeWire node properties. The tool supports audio peak meters with configurable monitoring levels and includes performance options like lazy capture to reduce CPU usage when monitoring many audio nodes.

### Installation

```bash
# via Arch Linux
pacman -S wiremix
```

```bash
# via Nix
nix run nixpkgs#wiremix
```

```bash
# via Fedora
dnf in wiremix
```

```bash
# via Cargo
cargo install wiremix
```

![wiremix TUI interface demonstration](https://media.trmn.sh/cached/23c50652446484cccb6d11bae1579ed39179282fa3ca33af8dc1d73ab0ccefdb.gif)

## Alternatives

- [pdu](https://www.trmn.sh/tools/pdu.md): Parallelized disk usage analyzer that renders graphical charts for directory tree analysis (Rust, 741 stars)
- [kbt](https://www.trmn.sh/tools/kbt.md): Terminal-based keyboard testing tool for checking key functionality across multiple layouts (Rust, 391 stars)
- [oxker](https://www.trmn.sh/tools/oxker.md): Rust TUI for viewing and controlling Docker containers, with log viewing, search, filtering, sorting, inspect and exec, configurable via TOML/JSON. (Rust, 2.0k stars)
- [g1c](https://www.trmn.sh/tools/g1c.md): Terminal UI for monitoring and managing Google Cloud VM instances with real-time updates and instance operations (Rust, 41 stars)
- [ecscope](https://www.trmn.sh/tools/ecscope.md): TUI for monitoring AWS ECS services, tasks, and containers across multiple clusters and regions in a unified view. (Rust, 14 stars)

---

Canonical: https://www.trmn.sh/tools/wiremix
