mirror of
https://github.com/arabianq/pipewire-soundpad.git
synced 2026-07-26 21:57:05 +00:00
docs: correct the README
Not one of the three CLI examples worked: commands live under `action`, `get` and `set`, and `status` never existed. Replaced with commands that were actually run against a live daemon, plus the separate monitoring/mic volumes. Other corrections: - Build deps were missing libssl-dev and pkg-config, which CI installs and openssl-sys needs — building from source failed by following the README. - The Flatpak, which the README recommends first, has a single entry point, so none of the bare pwsp-* commands apply there. Documented `flatpak run`. - Global hotkeys are a headline feature but need read access to /dev/input, i.e. membership in the `input` group. Nothing said so, and the failure is silent. - AUR packages exist in packages/aur but were not mentioned. - "without ... complex virtual sinks" was false: PWSP creates a support.null-audio-sink node itself. Reworded to say what it actually does. - "Direct communication with the PipeWire API for the lowest possible latency" overstated it. The PipeWire API is used for the graph — the virtual mic, device discovery, links — while audio goes through rodio, which is why the node shows up as alsa_playback.pwsp-daemon. - /etc/apt/keyrings does not exist on older Debian/Ubuntu; added mkdir -p. - DeepWiki was called "our official Wiki"; it is generated from the source automatically, so it is now described as such. - Each language link pointed at the file you were already reading. - Features listed neither the separate volumes nor the localization. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,24 +19,26 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
[🇷🇺 Читать на русском](README.ru.md) | [🇺🇸 Read in English](README.md)
|
||||
[🇷🇺 Читать на русском](README.ru.md) | 🇬🇧 English (you are here)
|
||||
|
||||
[](https://github.com/arabianq/pipewire-soundpad/actions)
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://github.com/arabianq/pipewire-soundpad/releases/latest)
|
||||
[](https://pipewire.org/)
|
||||
|
||||
**PipeWire Soundpad (PWSP)** is a modern, low-latency application that lets you play audio files directly through your microphone. Designed specifically for Linux, it leverages the power of PipeWire to achieve native integration without the need for Pulseaudio bridges or complex virtual sinks.
|
||||
**PipeWire Soundpad (PWSP)** is a modern application that lets you play audio files directly through your microphone. Designed specifically for Linux, it talks to PipeWire natively: it creates its own virtual microphone and wires everything up itself, so you never have to build a routing setup by hand.
|
||||
|
||||
---
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- **Native PipeWire Integration:** Direct communication with the PipeWire API for the lowest possible latency.
|
||||
- **Native PipeWire Integration:** PWSP creates its own virtual microphone and manages the graph through the PipeWire API — no manual `pw-link` juggling, no PulseAudio modules to load.
|
||||
- **Separate Monitoring and Microphone Volumes:** Two independent streams, so you can amplify what your friends hear without deafening yourself, and pick which device the monitoring plays on.
|
||||
- **Modular Architecture:** Consists of a background `daemon`, a command-line interface (`cli`), and a graphical user interface (`gui`).
|
||||
- **Modern GUI:** Built with `egui`, supporting both Wayland and X11 seamlessly.
|
||||
- **Localized:** Ships in 9 languages, following your system locale or one you pick yourself in the settings.
|
||||
- **Global Hotkeys:** Powered by `evdev`, allowing you to play sounds from anywhere.
|
||||
- **Broad Audio Support:** Powered by `rodio` and `symphonia` to support a wide range of audio formats.
|
||||
- **Broad Audio Support:** Powered by `rodio` and `symphonia` to support a wide range of audio formats, including Opus.
|
||||
|
||||
---
|
||||
|
||||
@@ -65,6 +67,7 @@ We maintain an official APT repository for seamless updates via `apt`:
|
||||
|
||||
```bash
|
||||
# 1. Download the public GPG key
|
||||
sudo mkdir -p /etc/apt/keyrings
|
||||
wget -O- https://arabianq.github.io/pipewire-soundpad/apt/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/pwsp.gpg
|
||||
|
||||
# 2. Add the repository (Choose STABLE or NIGHTLY)
|
||||
@@ -88,13 +91,26 @@ sudo dnf copr enable arabianq/pwsp
|
||||
sudo dnf install pwsp
|
||||
```
|
||||
|
||||
### 🐦 Arch Linux (AUR)
|
||||
|
||||
Two packages are available: `pwsp` builds from source, `pwsp-bin` installs the prebuilt binaries.
|
||||
|
||||
```bash
|
||||
# Using your preferred AUR helper
|
||||
paru -S pwsp # or: pwsp-bin
|
||||
```
|
||||
|
||||
### ⚙️ Manual / Standalone
|
||||
|
||||
You can manually download `.deb` packages or standalone `.zip` binaries from the [Releases page](https://github.com/arabianq/pipewire-soundpad/releases).
|
||||
|
||||
### 🦀 Build from Source
|
||||
|
||||
Make sure you have Rust, Cargo, and the required dependencies (`libpipewire-0.3-dev`, `libclang-dev`, `libasound2-dev`, `libdbus-1-dev`) installed.
|
||||
Make sure you have Rust and Cargo installed, along with the build dependencies. On Debian/Ubuntu:
|
||||
|
||||
```bash
|
||||
sudo apt install libpipewire-0.3-dev libclang-dev libasound2-dev libdbus-1-dev libssl-dev pkg-config
|
||||
```
|
||||
|
||||
```bash
|
||||
git clone https://github.com/arabianq/pipewire-soundpad.git
|
||||
@@ -129,19 +145,56 @@ pwsp-gui
|
||||
|
||||
### 3. Use the CLI
|
||||
|
||||
You can also interact with the daemon directly via the command line:
|
||||
You can also interact with the daemon directly via the command line. Every command is grouped under `action`, `get` or `set`:
|
||||
|
||||
```bash
|
||||
pwsp-cli play /path/to/sound.mp3
|
||||
pwsp-cli stop
|
||||
pwsp-cli status
|
||||
pwsp-cli action play /path/to/sound.mp3
|
||||
pwsp-cli action stop
|
||||
pwsp-cli get state
|
||||
|
||||
# Separate volumes for what you hear and what is sent to the microphone.
|
||||
# Values above 1.0 amplify.
|
||||
pwsp-cli set monitoring-volume 0.3
|
||||
pwsp-cli set mic-volume 1.5
|
||||
|
||||
# Devices
|
||||
pwsp-cli get inputs
|
||||
pwsp-cli set input <name>
|
||||
```
|
||||
|
||||
Run `pwsp-cli <group> --help` for the full list.
|
||||
|
||||
### 🔑 Enabling Global Hotkeys
|
||||
|
||||
Hotkeys are read straight from the kernel via `evdev`, which means the daemon needs access to `/dev/input/event*`. On most distributions that means adding yourself to the `input` group:
|
||||
|
||||
```bash
|
||||
sudo usermod -aG input $USER
|
||||
```
|
||||
|
||||
Log out and back in for it to take effect. Without this, everything else works — only the global hotkeys stay silent.
|
||||
|
||||
### 📦 A Note for Flatpak Users
|
||||
|
||||
The Flatpak ships a single entry point, so the commands above are reached through `flatpak run`:
|
||||
|
||||
```bash
|
||||
# No arguments: starts the daemon and the GUI together
|
||||
flatpak run ru.arabianq.pwsp
|
||||
|
||||
# The daemon on its own
|
||||
flatpak run ru.arabianq.pwsp daemon --start
|
||||
flatpak run ru.arabianq.pwsp daemon --kill
|
||||
|
||||
# Anything after "cli" is passed to pwsp-cli
|
||||
flatpak run ru.arabianq.pwsp cli action play /path/to/sound.mp3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Documentation & DeepWiki
|
||||
|
||||
For advanced configuration, troubleshooting, architecture details, and custom setups, please visit our official Wiki:
|
||||
DeepWiki generates a browsable overview of the architecture from the source, and lets you ask questions about it. It is generated automatically rather than written by hand, so treat it as a map, not as a specification:
|
||||
|
||||
[](https://deepwiki.com/arabianq/pipewire-soundpad)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user