Compact PipeWire system-wide parametric equalizer for Linux desktops.
Project description
Mini EQ
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.
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.
- Equalizer APO preset import from the UI or
--import-apo, including compatible presets exported by AutoEq.
AutoEq And APO Presets
Mini EQ can import Equalizer APO-style parametric EQ text presets. This makes it
usable with headphone correction presets exported by
AutoEq: export an Equalizer APO/parametric EQ preset from
AutoEq, then use Import Equalizer APO... in Mini EQ or start the app with
mini-eq --import-apo path/to/ParametricEQ.txt. The
AutoEq project provides the source,
headphone measurement data, targets, and optimizer behind the web app.
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 the required GTK, Libadwaita, 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
Runtime data is stored under ~/.config/mini-eq.
pip install mini-eq installs only the Python package. The 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mini_eq-0.7.3.tar.gz.
File metadata
- Download URL: mini_eq-0.7.3.tar.gz
- Upload date:
- Size: 686.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ba537baab1dc995180660a842c4635596875d422ebc3f8469782e517f999bdb
|
|
| MD5 |
d26df8e01eed5912d7e5e15a445590b6
|
|
| BLAKE2b-256 |
3f9c4c21aee9fcfc5b1c8fddbf5ebd4cf5e489a4ec6618e74e46d33ecdd0a3e5
|
Provenance
The following attestation bundles were made for mini_eq-0.7.3.tar.gz:
Publisher:
release.yml on bhack/mini-eq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mini_eq-0.7.3.tar.gz -
Subject digest:
8ba537baab1dc995180660a842c4635596875d422ebc3f8469782e517f999bdb - Sigstore transparency entry: 1500643314
- Sigstore integration time:
-
Permalink:
bhack/mini-eq@cf2241fc0a52e39b00f88bd9fe638549be5b113f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf2241fc0a52e39b00f88bd9fe638549be5b113f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file mini_eq-0.7.3-py3-none-any.whl.
File metadata
- Download URL: mini_eq-0.7.3-py3-none-any.whl
- Upload date:
- Size: 127.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb8526f580dc592fcaa83f10e0802b3fb51f44f68b7eaedabf14ae45ceb17514
|
|
| MD5 |
725e818639ed01c5db58e84726aed729
|
|
| BLAKE2b-256 |
d06aa6fc6f3ddc3c2363848f042a4c701050392de98a6ee45a7a8d571c5adab8
|
Provenance
The following attestation bundles were made for mini_eq-0.7.3-py3-none-any.whl:
Publisher:
release.yml on bhack/mini-eq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mini_eq-0.7.3-py3-none-any.whl -
Subject digest:
eb8526f580dc592fcaa83f10e0802b3fb51f44f68b7eaedabf14ae45ceb17514 - Sigstore transparency entry: 1500643434
- Sigstore integration time:
-
Permalink:
bhack/mini-eq@cf2241fc0a52e39b00f88bd9fe638549be5b113f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf2241fc0a52e39b00f88bd9fe638549be5b113f -
Trigger Event:
workflow_dispatch
-
Statement type: