wireplumber: Add equalizer for Truthear GATe

This commit is contained in:
Sanchayan Maity 2024-08-06 13:00:14 +05:30
parent 7154b3790d
commit c4f2f0baa9
Signed by: sanchayanmaity
GPG key ID: 6F6A0609C12038F3
2 changed files with 102 additions and 0 deletions

View file

@ -7,6 +7,10 @@ wireplumber.components = [
name = equalizer/dt1990-balanced-diffuse.lua, type = script/lua
provides = equalizer.dt1990-bd
}
{
name = equalizer/gate.lua, type = script/lua
provides = equalizer.gate
}
{
name = equalizer/input-denoise.lua, type = script/lua
provides = equalizer.input-denoise
@ -17,6 +21,7 @@ wireplumber.profiles = {
main = {
equalizer.dt770 = required
equalizer.dt1990-bd = required
equalizer.gate = required
equalizer.input-denoise = required
monitor.libcamera = disabled
}

View file

@ -0,0 +1,97 @@
-- Generated by EQ'ing Truthear GATe frequency response to the
-- Diffuse field target curve using Squiglink.
-- luacheck: ignore 111 113
local args = {
["node.description"] = "GATe",
["media.name"] = "GATe",
["audio.position"] = Json.Array { "FL", "FR" },
["audio.channels"] = 2,
}
args["filter.graph"] = Json.Object {
nodes = Json.Array {
Json.Object {
type = "builtin",
name = "eq_band_1",
label = "bq_highshelf",
control = Json.Object { Freq = 0, Gain = -4.8, Q = 1.0 },
},
Json.Object {
type = "builtin",
name = "eq_band_2",
label = "bq_peaking",
control = Json.Object { Freq = 32, Gain = -4.0, Q = 0.5 },
},
Json.Object {
type = "builtin",
name = "eq_band_3",
label = "bq_peaking",
control = Json.Object { Freq = 450, Gain = 2.3, Q = 0.6 },
},
Json.Object {
type = "builtin",
name = "eq_band_4",
label = "bq_peaking",
control = Json.Object { Freq = 1600, Gain = -2.8, Q = 1.2 },
},
Json.Object {
type = "builtin",
name = "eq_band_5",
label = "bq_peaking",
control = Json.Object { Freq = 5000, Gain = -3.8, Q = 2.0 },
},
Json.Object {
type = "builtin",
name = "eq_band_6",
label = "bq_peaking",
control = Json.Object { Freq = 6700, Gain = 1.8, Q = 2.0 },
},
Json.Object {
type = "builtin",
name = "eq_band_7",
label = "bq_highshelf",
control = Json.Object { Freq = 8000, Gain = -6.6, Q = 2.0 },
},
Json.Object {
type = "builtin",
name = "eq_band_8",
label = "bq_peaking",
control = Json.Object { Freq = 10000, Gain = 9.2, Q = 2.0 },
},
Json.Object {
type = "builtin",
name = "eq_band_9",
label = "bq_peaking",
control = Json.Object { Freq = 14000, Gain = -8.8, Q = 2.0 },
},
},
links = Json.Array {
Json.Object { output = "eq_band_1:Out" , input = "eq_band_2:In" },
Json.Object { output = "eq_band_2:Out" , input = "eq_band_3:In" },
Json.Object { output = "eq_band_3:Out" , input = "eq_band_4:In" },
Json.Object { output = "eq_band_4:Out" , input = "eq_band_5:In" },
Json.Object { output = "eq_band_5:Out" , input = "eq_band_6:In" },
Json.Object { output = "eq_band_6:Out" , input = "eq_band_7:In" },
Json.Object { output = "eq_band_7:Out" , input = "eq_band_8:In" },
Json.Object { output = "eq_band_8:Out" , input = "eq_band_9:In" },
},
}
args["capture.props"] = Json.Object {
["node.name"] = "gate_effect_input.eq9",
["media.class"] = "Audio/Sink",
}
args["playback.props"] = Json.Object {
["node.name"] = "gate_effect_output.eq9",
["node.passive"] = true,
}
local args_json = Json.Object(args)
local args_string = args_json:get_data()
local properties = {}
print("Loading GATe Equalizer Sink with arguments = ")
print(args_string)
filter_chain = LocalModule("libpipewire-module-filter-chain", args_string, properties)