.TH "libpipewire-module-parametric-equalizer" 7 "1.2.7" "PipeWire" \" -*- nroff -*-
.ad l
.nh
.SH NAME
libpipewire-module-parametric-equalizer \- Parametric-Equalizer 
.SH DESCRIPTION
.PP
The \fCparametric-equalizer\fP module loads parametric equalizer configuration generated from the AutoEQ project or Squiglink\&.
.PP
Both the projects allow equalizing headphones or an in-ear monitor to a target curve\&. While these generate a file for parametric equalization for a given target, but this is not a format that can be directly given to filter chain module\&.
.PP
A popular example of the above being EQ'ing to the Harman target curve or EQ'ing one headphone/IEM to another\&.
.PP
For AutoEQ, see https://github.com/jaakkopasanen/AutoEq\&. For SquigLink, see https://squig.link/\&.
.PP
Parametric equalizer configuration generated from AutoEQ or Squiglink looks like below\&.
.PP
Preamp: -6\&.8 dB Filter 1: ON PK Fc 21 Hz Gain 6\&.7 dB Q 1\&.100 Filter 2: ON PK Fc 85 Hz Gain 6\&.9 dB Q 3\&.000 Filter 3: ON PK Fc 110 Hz Gain -2\&.6 dB Q 2\&.700 Filter 4: ON PK Fc 210 Hz Gain 5\&.9 dB Q 2\&.100 Filter 5: ON PK Fc 710 Hz Gain -1\&.0 dB Q 0\&.600 Filter 6: ON PK Fc 1600 Hz Gain 2\&.3 dB Q 2\&.700
.PP
Fc, Gain and Q specify the frequency, gain and Q factor respectively\&. The fourth column can be one of PK, LSC or HSC specifying peaking, low shelf and high shelf filter respectively\&. More often than not only peaking filters are involved\&.
.PP
This module parses a configuration like above and loads the filter chain module with the above configuration translated to filter chain arguments\&.
.PP
.SH "MODULE NAME"
.PP
.PP
\fClibpipewire-module-parametric-equalizer\fP
.PP
.SH "MODULE OPTIONS"
.PP
.PP
Options specific to the behaviour of this module
.PP
.IP "\(bu" 2
\fCequalizer\&.filepath = <str>\fP path of the file with parametric EQ
.IP "\(bu" 2
\fCequalizer\&.description = <str>\fP: Name which will show up in
.IP "\(bu" 2
\fCaudio\&.channels = <int>\fP: Number of audio channels, default 2
.IP "\(bu" 2
\fCaudio\&.position = <str>\fP: Channel map, default '[FL, FR]'
.IP "\(bu" 2
\fCremote\&.name =<str>\fP: environment with remote name, default 'pipewire-0'
.PP
.PP
.SH "GENERAL OPTIONS"
.PP
.PP
Options with well-known behaviour:
.PP
.IP "\(bu" 2
\fBaudio.channels\fP
.IP "\(bu" 2
\fBaudio.position\fP
.IP "\(bu" 2
\fBremote.name\fP
.PP
.PP
.SH "EXAMPLE CONFIGURATION"
.PP
.PP
.PP
.nf
# ~/\&.config/pipewire/pipewire\&.conf\&.d/my\-parametric\-equalizer\&.conf

context\&.modules = [
{   name = libpipewire\-module\-parametric\-equalizer
    args = {
        #remote\&.name = "pipewire\-0"
        #equalizer\&.filepath = "/a/b/EQ\&.txt"
        #equalizer\&.description = "Parametric EQ Sink"
        #audio\&.channels = 2
        #audio\&.position = [FL, FR]
    }
}
]
.fi
.PP
.PP
\fBSince\fP
.RS 4
1\&.0\&.6 
.RE
.PP


