Skip to main content

Compact PipeWire system-wide parametric equalizer for Linux desktops.

Project description

Mini EQ

CI PyPI GitHub release License

Get it on Flathub

Mini EQ is a small system-wide parametric equalizer for PipeWire desktops. It uses GTK/Libadwaita for the UI, pipewire-gobject for app-facing PipeWire routing, metadata, and monitor streams, and PipeWire filter-chain with builtin biquad filters for the equalizer. When libebur128 is available, the monitor can also show live LUFS loudness.

Mini EQ screenshot

Features

  • System-wide parametric EQ for PipeWire desktop playback.
  • GTK/Libadwaita interface with a compact 10-band fader workflow.
  • PipeWire routing and default-output tracking through pipewire-gobject.
  • PipeWire filter-chain DSP using builtin biquad filters.
  • Optional spectrum analyzer and LUFS loudness readout through a PipeWire monitor capture stream.
  • Auto preset links can follow the detected PipeWire port when available and fall back to the selected EQ output when a port is not reported.
  • Optional background mode keeps the EQ active after closing the window, with a separate Start at Login preference and optional active-at-login routing.
  • Optional GNOME Shell extension for quick panel access to routing, EQ, analyzer status, presets, and auto preset links.
  • Search and import headphone correction presets from AutoEq directly in the app, or import Equalizer APO-style text presets from a local file or --import-apo.

AutoEq And APO Presets

Mini EQ can search AutoEq.app headphone profiles, preview the correction curve for a selected profile, and import a generated Equalizer APO-style parametric EQ preset. Use Import from AutoEq... from the main menu, search by headphone model, select a profile, then import it. Profile data and generated presets come from AutoEq.app on demand and are cached locally.

Local APO text presets are still supported: use Import Equalizer APO... in Mini EQ or start the app with mini-eq --import-apo path/to/ParametricEQ.txt.

Install

The recommended desktop install path is Flathub:

flatpak install flathub io.github.bhack.mini-eq
flatpak run io.github.bhack.mini-eq

PyPI and source installs are available for development or for systems with a recent GTK/Libadwaita stack plus PyGObject, PipeWire, WirePlumber, and native pipewire-gobject build/runtime packages already installed:

python3 -m pip install mini-eq
mini-eq --check-deps
mini-eq

See Development for distro package names, PyPI virtualenv details, source checkout commands, tests, and local Flatpak builds.

GNOME Shell Extension

Mini EQ also has an optional GNOME Shell extension for quick panel access to routing, EQ, analyzer status, presets, and auto preset links.

Install it from GNOME Shell Extensions: https://extensions.gnome.org/extension/9803/mini-eq-controls/

Notes

User presets and output preset links are stored under ~/.config/mini-eq. AutoEq profile data and downloaded presets are cached under ~/.cache/mini-eq/autoeq.

pip install mini-eq installs only the Python package. The recent desktop and audio system packages listed in Development are still required for the app to connect to GTK, PipeWire, and the host WirePlumber-managed session.

Acknowledgements

Mini EQ is inspired in part by EasyEffects and the broader PipeWire audio tooling ecosystem. Mini EQ is a separate project focused on a compact system-wide parametric EQ workflow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mini_eq-0.8.0.tar.gz (734.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mini_eq-0.8.0-py3-none-any.whl (145.1 kB view details)

Uploaded Python 3

File details

Details for the file mini_eq-0.8.0.tar.gz.

File metadata

  • Download URL: mini_eq-0.8.0.tar.gz
  • Upload date:
  • Size: 734.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mini_eq-0.8.0.tar.gz
Algorithm Hash digest
SHA256 97b394d7eaa26c754ac81d3b1e6310130965468c7f0ea3c6f6c6060148161dac
MD5 60b6077dea5d2a8c2a008f2538b5467c
BLAKE2b-256 30b61d2f909390ba3a2911c3117de2818b4439867875da4b2f0f0d056e1af2e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mini_eq-0.8.0.tar.gz:

Publisher: release.yml on bhack/mini-eq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mini_eq-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: mini_eq-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 145.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mini_eq-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89947ab51eb206e8b72e91f53a2fa356ca41ae86fa56c281c07ddb194b4326dd
MD5 d157d24db60fcc6c975b69db33bfaa2a
BLAKE2b-256 e69927b93ceecf0fb30e5cbc65bf2a7323f97f58127de0ecfdd43db10fc80b39

See more details on using hashes here.

Provenance

The following attestation bundles were made for mini_eq-0.8.0-py3-none-any.whl:

Publisher: release.yml on bhack/mini-eq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page