Skip to content

andyyu2004/pipewire-equalizer

Repository files navigation

pipewire-equalizer

TUI equalizer for PipeWire.

Demo

asciicast

Requirements

PipeWire v1.0+ must be installed and running on your system.

Installation

Depedencies

  • pipewire development headers
  • pipewire-utils (pw-dump)
  • wireplumber (wpctl)
cargo install --git https://github.com/andyyu2004/pipewire-equalizer
# Or if cloned locally
cargo install --path pw-eq

Usage

The intended workflow is to tweak the equalizer interactively using the TUI, then save the configuration to a file for PipeWire to load on startup.

Create default config for modification. The configuration is in the spa-json format, a superset of JSON. This allows modification of keybinds and the theme.

pw-eq config init

The default keybinding scheme uses an esdf (shifted wasd) layout for filter manipulation.

  • e/d - increase/decrease gain (vertical axis)
  • s/f - decrease/increase frequency (horizontal axis)
  • w/r - decrease/increase Q factor (bandwidth control, positioned above)
  • tab/s-tab- toggle filter type. Low-pass, high-pass, band-pass, notch, peak, low-shelf, high-shelf are supported.
  • j/k - move selection down/up
# Starts TUI equalizer with default filters available.
# See the config file or press ? to see all available keybinds.
pw-eq

Load from a file:

pw-eq tui --file <PATH> # .apo,.txt or pipewire libpipewire-module-filter-chain .conf format supported.

Load a preset:

pw-eq tui --preset flat<n>

Save configuration to a file:

# Within the TUI command line:
:w <PATH>.{conf,apo}
# If a relative path is provided:
# .conf format is saved to `$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/<PATH>`. Pipewire must be restarted to pick up new config.
# .apo format is saved to `$(pwd)/<PATH>`.

About

Parametric EQ CLI and TUI for pipewire

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages