Looking for an Audio Equalizer. I have read of Pulse Equalizer, but that program seems to not have been updated since 2016. Anyone know of up-to-date Audio Equalizers?
2 Answers
I tried Pulse Equalizer, Easyeffects and JamesDSP, Flatpak and self compiled. None of them ran stable for a longer period of time since Pipewire has become the default with Kubuntu 23.04. Eventually I came across this guide: PipeWire - Archwiki.
Section 4.1.1 "Systemwide parametric equalization" was enough to read through. The sample file mentioned, /usr/share/pipewire/filter-chain/sink-eq6.conf, did not exist in my system, so I searched for a sample on the net (see below). I created the folders and edited that sink-eq6.conf file I found to my needs (trashy display speakers that cannot produce any bass but rather rumble like hell), only using one highpass and two bandpeak modules / settings:
# 6 band sink equalizer
#
# Copy this file into a conf.d/ directory such as
# ~/.config/pipewire/filter-chain.conf.d/
#
context.modules = [
{name = libpipewire-module-filter-chain
args = {
node.description = "DeckEQ"
media.name = "DeckEQ"
filter.graph = {
nodes = [
{
type = builtin
name = eq_band_1
label = bq_highpass
control = { "Freq" = 500.0 "Q" = 3 "Gain" = -60 }
}
{
type = builtin
name = eq_band_2
label = bq_peaking
control = { "Freq" = 700.0 "Q" = 1 "Gain" = 0 }
}
{
type = builtin
name = eq_band_3
label = bq_peaking
control = { "Freq" = 12648.0 "Q" = 3 "Gain" = 40 }
}
# {
# type = builtin
# name = eq_band_4
# label = bq_peaking
# control = { "Freq" = 750.0 "Q" = 2 "Gain" = -20 }
# }
# {
# type = builtin
# name = eq_band_5
# label = bq_peaking
# control = { "Freq" = 1257.0 "Q" = 5 "Gain" = -10 }
# }
# {
# type = builtin
# name = eq_band_6
# label = bq_peaking
# control = { "Freq" = 8552.0 "Q" = 2 "Gain" = -10 }
# }
# {
# type = builtin
# name = eq_band_7
# label = bq_peaking
# control = { "Freq" = 12648.0 "Q" = 6 "Gain" = 20 }
# }
]
links = [
{ output = "eq_band_1:Out" input = "eq_band_2:In" }
{ output = "eq_band_2:Out" input = "eq_band_3:In" }
# { output = "eq_band_3:Out" input = "eq_band_4:In" }
# { output = "eq_band_4:Out" input = "eq_band_5:In" }
# { output = "eq_band_5:Out" input = "eq_band_6:In" }
# { output = "eq_band_6:Out" input = "eq_band_7:In" }
]
}
audio.channels = 2
audio.position = [ FL FR ]
capture.props = {
node.name = "effect_input.eq"
media.class = Audio/Sink
}
playback.props = {
node.name = "effect_output.eq"
node.passive = false
}
}
}
]
This is running right out of the [Pipewire] box, I did not install anything, I only added that conf file. If you know a bit about EQs you get how to set this up once you read through the file. Sadly I cannot remember where I found the example I am using here - I would to give credit to the person who created this. This is running perfectly stable on my system since months.
Make sure you select that virtual Audio output "DeckEQ", that is created with this setup, as your default output to actually hear the filtered signal.
