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)
|
||||
|
||||
|
||||
+63
-10
@@ -19,24 +19,26 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
[🇷🇺 Читать на русском](README.ru.md) | [🇺🇸 Read in English](README.md)
|
||||
🇷🇺 Русский (вы здесь) | [🇬🇧 Read in English](README.md)
|
||||
|
||||
[](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)** — это современное приложение с низкой задержкой, которое позволяет воспроизводить аудиофайлы прямо в ваш микрофон. Разработано специально для Linux с использованием мощи PipeWire для достижения нативной интеграции без использования мостов Pulseaudio или сложных виртуальных устройств.
|
||||
**PipeWire Soundpad (PWSP)** — приложение, которое позволяет воспроизводить аудиофайлы прямо в ваш микрофон. Разработано специально для Linux и работает с PipeWire напрямую: создаёт собственный виртуальный микрофон и само выстраивает маршрутизацию, так что настраивать её руками не придётся.
|
||||
|
||||
---
|
||||
|
||||
## ✨ Возможности
|
||||
|
||||
- **Нативная интеграция с PipeWire:** Прямое взаимодействие с PipeWire API для минимальной задержки.
|
||||
- **Нативная интеграция с PipeWire:** PWSP создаёт собственный виртуальный микрофон и управляет графом через PipeWire API — без ручного `pw-link` и без подгрузки модулей PulseAudio.
|
||||
- **Раздельная громкость мониторинга и микрофона:** Два независимых потока: можно усилить то, что слышат собеседники, не оглушив себя, и выбрать устройство для мониторинга.
|
||||
- **Модульная архитектура:** Состоит из фонового демона (`daemon`), интерфейса командной строки (`cli`) и графического интерфейса (`gui`).
|
||||
- **Современный GUI:** Построен на `egui`, плавно работает как на Wayland, так и на X11.
|
||||
- **Локализация:** 9 языков; используется системный или выбранный вручную в настройках.
|
||||
- **Глобальные горячие клавиши:** Работают через `evdev`, позволяя воспроизводить звуки из любого окна.
|
||||
- **Широкая поддержка форматов:** Использует `rodio` и `symphonia` для поддержки большинства аудиоформатов.
|
||||
- **Широкая поддержка форматов:** Использует `rodio` и `symphonia` и поддерживает большинство аудиоформатов, включая Opus.
|
||||
|
||||
---
|
||||
|
||||
@@ -65,6 +67,7 @@ flatpak install pwsp ru.arabianq.pwsp//nightly
|
||||
|
||||
```bash
|
||||
# 1. Скачайте публичный GPG ключ
|
||||
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. Добавьте репозиторий (Выберите STABLE или NIGHTLY)
|
||||
@@ -88,13 +91,26 @@ sudo dnf copr enable arabianq/pwsp
|
||||
sudo dnf install pwsp
|
||||
```
|
||||
|
||||
### 🐦 Arch Linux (AUR)
|
||||
|
||||
Доступны два пакета: `pwsp` собирается из исходников, `pwsp-bin` ставит готовые бинарники.
|
||||
|
||||
```bash
|
||||
# Через любой удобный AUR-хелпер
|
||||
paru -S pwsp # или: pwsp-bin
|
||||
```
|
||||
|
||||
### ⚙️ Ручная установка
|
||||
|
||||
Вы можете вручную скачать пакеты `.deb` или готовые бинарники `.zip` на [странице релизов](https://github.com/arabianq/pipewire-soundpad/releases).
|
||||
|
||||
### 🦀 Сборка из исходников
|
||||
|
||||
Убедитесь, что у вас установлены Rust, Cargo и необходимые зависимости (`libpipewire-0.3-dev`, `libclang-dev`, `libasound2-dev`, `libdbus-1-dev`).
|
||||
Убедитесь, что у вас установлены Rust и Cargo, а также зависимости для сборки. Для 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. Использование CLI
|
||||
|
||||
Вы также можете взаимодействовать с демоном напрямую через командную строку:
|
||||
Вы также можете взаимодействовать с демоном напрямую через командную строку. Все команды сгруппированы в `action`, `get` и `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
|
||||
|
||||
# Раздельная громкость: что слышите вы и что уходит в микрофон.
|
||||
# Значения выше 1.0 усиливают.
|
||||
pwsp-cli set monitoring-volume 0.3
|
||||
pwsp-cli set mic-volume 1.5
|
||||
|
||||
# Устройства
|
||||
pwsp-cli get inputs
|
||||
pwsp-cli set input <имя>
|
||||
```
|
||||
|
||||
Полный список — `pwsp-cli <группа> --help`.
|
||||
|
||||
### 🔑 Включение глобальных горячих клавиш
|
||||
|
||||
Горячие клавиши читаются напрямую из ядра через `evdev`, поэтому демону нужен доступ к `/dev/input/event*`. В большинстве дистрибутивов для этого достаточно добавить себя в группу `input`:
|
||||
|
||||
```bash
|
||||
sudo usermod -aG input $USER
|
||||
```
|
||||
|
||||
Изменение вступит в силу после перезахода в систему. Без него всё остальное работает — молчат только глобальные горячие клавиши.
|
||||
|
||||
### 📦 Замечание для пользователей Flatpak
|
||||
|
||||
У Flatpak-версии одна точка входа, поэтому команды выше вызываются через `flatpak run`:
|
||||
|
||||
```bash
|
||||
# Без аргументов: запускает демон и GUI вместе
|
||||
flatpak run ru.arabianq.pwsp
|
||||
|
||||
# Отдельно демон
|
||||
flatpak run ru.arabianq.pwsp daemon --start
|
||||
flatpak run ru.arabianq.pwsp daemon --kill
|
||||
|
||||
# Всё после "cli" передаётся в pwsp-cli
|
||||
flatpak run ru.arabianq.pwsp cli action play /path/to/sound.mp3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Документация и DeepWiki
|
||||
|
||||
Для детальной настройки, решения проблем, описания архитектуры и кастомных конфигураций, пожалуйста, посетите нашу официальную Wiki:
|
||||
DeepWiki автоматически строит по исходникам обзор архитектуры и позволяет задавать по нему вопросы. Он генерируется, а не пишется руками, поэтому воспринимайте его как карту, а не как спецификацию:
|
||||
|
||||
[](https://deepwiki.com/arabianq/pipewire-soundpad)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user