No description
- Python 97.4%
- Shell 2.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
GTK4/Adwaita presets with a built-in GStreamer engine, Auto detection, and local install/uninstall helpers. Co-authored-by: Cursor <[email protected]> |
||
| data | ||
| icons | ||
| .gitignore | ||
| install-local.sh | ||
| README.md | ||
| soundbox.png | ||
| soundbox.py | ||
| soundbox_debug.py | ||
| soundbox_engine.py | ||
| uninstall-local.sh | ||
SoundBox
Simple GTK4 / Adwaita sound presets with a built-in GStreamer engine (no Easy Effects dependency).
Modes: Auto, Normal (effects off), and Custom EQ. Volume is controlled by SoundBox itself — it does not take over the system speaker volume.
Requirements
- Python 3.11+
- GTK 4, Libadwaita
- GStreamer 1.0 (+ base / good plugins)
- PipeWire / PulseAudio (
pactl)
Fedora / Bazzite example:
sudo dnf install python3 gtk4 libadwaita gstreamer1 gstreamer1-plugins-base \
gstreamer1-plugins-good pipewire-utils
Run
python3 soundbox.py
# or
SOUNDBOX_DEBUG=1 python3 soundbox.py --debug
Optional desktop install
./install-local.sh
Uninstall local launchers / icons / sticky PipeWire binds:
./uninstall-local.sh
Layout
| Path | Role |
|---|---|
soundbox.py |
UI + routing + Auto detection |
soundbox_engine.py |
GStreamer effects chain + passthrough |
soundbox_debug.py |
Optional structured debug sessions |
icons/ |
App icons |
data/ |
Local state (gitignored) |
License
Personal project — use and modify as you like.