6

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?

Pablo Bianchi
  • 17,371

2 Answers2

5

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.

0

Easy Effects

For PipeWire there is Easy Effects, available as a flatpak on Flathub.

screenshot

Pablo Bianchi
  • 17,371