{"id":49336650,"url":"https://github.com/bhack/mini-eq","last_synced_at":"2026-05-10T04:27:44.693Z","repository":{"id":353811318,"uuid":"1220932636","full_name":"bhack/mini-eq","owner":"bhack","description":"Compact PipeWire system-wide parametric EQ for Linux desktops","archived":false,"fork":false,"pushed_at":"2026-04-27T01:17:02.000Z","size":4414,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T01:25:57.670Z","etag":null,"topics":["audio","desktop-application","equalizer","flatpak","gtk","jack","libadwaita","linux","parametric-eq","pipewire","python","wireplumber"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/mini-eq/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bhack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-25T14:30:12.000Z","updated_at":"2026-04-27T01:17:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bhack/mini-eq","commit_stats":null,"previous_names":["bhack/mini-eq"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bhack/mini-eq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhack%2Fmini-eq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhack%2Fmini-eq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhack%2Fmini-eq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhack%2Fmini-eq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhack","download_url":"https://codeload.github.com/bhack/mini-eq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhack%2Fmini-eq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32522252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","desktop-application","equalizer","flatpak","gtk","jack","libadwaita","linux","parametric-eq","pipewire","python","wireplumber"],"created_at":"2026-04-27T01:03:02.567Z","updated_at":"2026-05-10T04:27:44.685Z","avatar_url":"https://github.com/bhack.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mini EQ\n\n[![CI](https://github.com/bhack/mini-eq/actions/workflows/ci.yml/badge.svg)](https://github.com/bhack/mini-eq/actions/workflows/ci.yml)\n[![PyPI](https://img.shields.io/pypi/v/mini-eq.svg?cacheSeconds=3600)](https://pypi.org/project/mini-eq/)\n[![GitHub release](https://img.shields.io/github/v/release/bhack/mini-eq?sort=semver)](https://github.com/bhack/mini-eq/releases)\n[![License](https://img.shields.io/github/license/bhack/mini-eq.svg)](https://github.com/bhack/mini-eq/blob/main/LICENSE)\n\n\u003ca href=\"https://flathub.org/apps/io.github.bhack.mini-eq\"\u003e\u003cimg width=\"240\" alt=\"Get it on Flathub\" src=\"https://flathub.org/api/badge?locale=en\"/\u003e\u003c/a\u003e\n\nMini EQ is a small system-wide parametric equalizer for PipeWire desktops.\nIt uses GTK/Libadwaita for the UI, pipewire-gobject for app-facing PipeWire\nrouting, metadata, and monitor streams, and PipeWire filter-chain with builtin\nbiquad filters for the equalizer. When libebur128 is available, the monitor can\nalso show live LUFS loudness.\n\n![Mini EQ screenshot](https://raw.githubusercontent.com/bhack/mini-eq/main/docs/screenshots/mini-eq.png)\n\n## Features\n\n- System-wide parametric EQ for PipeWire desktop playback.\n- GTK/Libadwaita interface with a compact 10-band fader workflow.\n- PipeWire routing and default-output tracking through pipewire-gobject.\n- PipeWire filter-chain DSP using builtin biquad filters.\n- Optional spectrum analyzer and LUFS loudness readout through a PipeWire monitor\n  capture stream.\n- Auto preset links can follow the detected PipeWire port when available and\n  fall back to the selected EQ output when a port is not reported.\n- Optional background mode keeps the EQ active after closing the window, with a\n  separate Start at Login preference and optional active-at-login routing.\n- Optional GNOME Shell extension for quick panel access to routing, EQ,\n  analyzer status, presets, and auto preset links.\n- Equalizer APO preset import from the UI or `--import-apo`, including\n  compatible presets exported by [AutoEq](https://autoeq.app/).\n\n## AutoEq And APO Presets\n\nMini EQ can import Equalizer APO-style parametric EQ text presets. This makes it\nusable with headphone correction presets exported by\n[AutoEq](https://autoeq.app/): export an Equalizer APO/parametric EQ preset from\nAutoEq, then use **Import Equalizer APO...** in Mini EQ or start the app with\n`mini-eq --import-apo path/to/ParametricEQ.txt`. The\n[AutoEq project](https://github.com/jaakkopasanen/AutoEq) provides the source,\nheadphone measurement data, targets, and optimizer behind the web app.\n\n## Install\n\nThe recommended desktop install path is Flathub:\n\n```bash\nflatpak install flathub io.github.bhack.mini-eq\nflatpak run io.github.bhack.mini-eq\n```\n\nPyPI and source installs are available for development or for systems with the\nrequired GTK, Libadwaita, PyGObject, PipeWire, WirePlumber, and native\npipewire-gobject build/runtime packages already installed:\n\n```bash\npython3 -m pip install mini-eq\nmini-eq --check-deps\nmini-eq\n```\n\nSee [Development](https://github.com/bhack/mini-eq/blob/main/docs/development.md)\nfor distro package names, PyPI virtualenv details, source checkout commands,\ntests, and local Flatpak builds.\n\n## GNOME Shell Extension\n\nMini EQ also has an optional GNOME Shell extension for quick panel access to\nrouting, EQ, analyzer status, presets, and auto preset links.\n\nInstall it from GNOME Shell Extensions:\nhttps://extensions.gnome.org/extension/9803/mini-eq-controls/\n\n## Notes\n\nRuntime data is stored under `~/.config/mini-eq`.\n\n`pip install mini-eq` installs only the Python package. The system packages\nlisted in\n[Development](https://github.com/bhack/mini-eq/blob/main/docs/development.md)\nare still required for the app to connect to GTK, PipeWire, and the host\nWirePlumber-managed session.\n\n## Acknowledgements\n\nMini EQ is inspired in part by [EasyEffects](https://github.com/wwmm/easyeffects)\nand the broader [PipeWire](https://pipewire.org/) audio tooling ecosystem.\nMini EQ is a separate project focused on a compact system-wide parametric EQ\nworkflow.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhack%2Fmini-eq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhack%2Fmini-eq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhack%2Fmini-eq/lists"}