No description
  • Python 97.4%
  • Shell 2.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
swatmanjohn e2ec2e6afc Initial SoundBox release.
GTK4/Adwaita presets with a built-in GStreamer engine, Auto detection, and local install/uninstall helpers.

Co-authored-by: Cursor <[email protected]>
2026-07-19 01:19:33 -04:00
data Initial SoundBox release. 2026-07-19 01:19:33 -04:00
icons Initial SoundBox release. 2026-07-19 01:19:33 -04:00
.gitignore Initial SoundBox release. 2026-07-19 01:19:33 -04:00
install-local.sh Initial SoundBox release. 2026-07-19 01:19:33 -04:00
README.md Initial SoundBox release. 2026-07-19 01:19:33 -04:00
soundbox.png Initial SoundBox release. 2026-07-19 01:19:33 -04:00
soundbox.py Initial SoundBox release. 2026-07-19 01:19:33 -04:00
soundbox_debug.py Initial SoundBox release. 2026-07-19 01:19:33 -04:00
soundbox_engine.py Initial SoundBox release. 2026-07-19 01:19:33 -04:00
uninstall-local.sh Initial SoundBox release. 2026-07-19 01:19:33 -04:00

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.