Skip to content

Commit d39b222

Browse files
committed
add eq
1 parent 285bed0 commit d39b222

1 file changed

Lines changed: 123 additions & 24 deletions

File tree

desktop/configuration/services.nix

Lines changed: 123 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
"node.name" = "mono_output";
127127
"node.passive" = true;
128128
"audio.position" = [ "FL" "FR" ];
129-
"node.target" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo";
129+
"node.target" = "correction_input";
130130
};
131131
};
132132
}
@@ -207,7 +207,127 @@
207207
};
208208
"playback.props" = {
209209
"node.passive" = false;
210-
"target.object" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo";
210+
"target.object" = "correction_input";
211+
};
212+
};
213+
}
214+
];
215+
};
216+
"99-simgot-eq" = {
217+
"context.modules" = [
218+
{
219+
name = "libpipewire-module-filter-chain";
220+
args = {
221+
"node.description" = "Simgot SuperMix 4 EQ";
222+
"media.name" = "Simgot SuperMix 4 EQ";
223+
"filter.graph" = {
224+
nodes = [
225+
# Preamp (-3.0 dB) -> Linear Gain ~0.707
226+
{
227+
type = "builtin";
228+
name = "preamp";
229+
label = "copy";
230+
control = { "Gain" = 0.7079; };
231+
}
232+
# Band 1
233+
{
234+
type = "builtin";
235+
name = "band_1";
236+
label = "bq_peaking";
237+
control = { "Freq" = 20.0; "Gain" = -0.9; "Q" = 2.0; };
238+
}
239+
# Band 2
240+
{
241+
type = "builtin";
242+
name = "band_2";
243+
label = "bq_peaking";
244+
control = { "Freq" = 53.0; "Gain" = -1.6; "Q" = 1.1; };
245+
}
246+
# Band 3
247+
{
248+
type = "builtin";
249+
name = "band_3";
250+
label = "bq_peaking";
251+
control = { "Freq" = 160.0; "Gain" = 0.6; "Q" = 0.8; };
252+
}
253+
# Band 4
254+
{
255+
type = "builtin";
256+
name = "band_4";
257+
label = "bq_peaking";
258+
control = { "Freq" = 170.0; "Gain" = -1.7; "Q" = 2.0; };
259+
}
260+
# Band 5
261+
{
262+
type = "builtin";
263+
name = "band_5";
264+
label = "bq_peaking";
265+
control = { "Freq" = 390.0; "Gain" = 3.0; "Q" = 1.0; };
266+
}
267+
# Band 6
268+
{
269+
type = "builtin";
270+
name = "band_6";
271+
label = "bq_peaking";
272+
control = { "Freq" = 1600.0; "Gain" = -1.9; "Q" = 1.2; };
273+
}
274+
# Band 7
275+
{
276+
type = "builtin";
277+
name = "band_7";
278+
label = "bq_peaking";
279+
control = { "Freq" = 3500.0; "Gain" = 1.9; "Q" = 2.0; };
280+
}
281+
# Band 8
282+
{
283+
type = "builtin";
284+
name = "band_8";
285+
label = "bq_peaking";
286+
control = { "Freq" = 5200.0; "Gain" = -3.6; "Q" = 2.0; };
287+
}
288+
# Band 9
289+
{
290+
type = "builtin";
291+
name = "band_9";
292+
label = "bq_peaking";
293+
control = { "Freq" = 9300.0; "Gain" = 4.8; "Q" = 2.0; };
294+
}
295+
# Band 10
296+
{
297+
type = "builtin";
298+
name = "band_10";
299+
label = "bq_peaking";
300+
control = { "Freq" = 13000.0; "Gain" = -6.7; "Q" = 1.3; };
301+
}
302+
];
303+
304+
# Chain: Preamp -> Band 1 -> Band 2 ... -> Band 10
305+
links = [
306+
{ output = "preamp:Out"; input = "band_1:In"; }
307+
{ output = "band_1:Out"; input = "band_2:In"; }
308+
{ output = "band_2:Out"; input = "band_3:In"; }
309+
{ output = "band_3:Out"; input = "band_4:In"; }
310+
{ output = "band_4:Out"; input = "band_5:In"; }
311+
{ output = "band_5:Out"; input = "band_6:In"; }
312+
{ output = "band_6:Out"; input = "band_7:In"; }
313+
{ output = "band_7:Out"; input = "band_8:In"; }
314+
{ output = "band_8:Out"; input = "band_9:In"; }
315+
{ output = "band_9:Out"; input = "band_10:In"; }
316+
];
317+
318+
inputs = [ "preamp:In" ];
319+
outputs = [ "band_10:Out" ];
320+
};
321+
"audio.channels" = 2;
322+
"audio.position" = [ "FL" "FR" ];
323+
"capture.props" = {
324+
"node.passive" = true;
325+
"media.class" = "Audio/Sink";
326+
};
327+
"playback.props" = {
328+
"node.passive" = false;
329+
# This connects the EQ output INTO your Balance Correction input
330+
"node.target" = "correction_input";
211331
};
212332
};
213333
}
@@ -283,7 +403,7 @@
283403
};
284404
"playback.props" = {
285405
"node.passive" = false;
286-
"target.object" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo";
406+
"target.object" = "correction_input";
287407
};
288408
};
289409
}
@@ -330,27 +450,6 @@
330450
}
331451
];
332452
};
333-
"99-iem-safe" = {
334-
"context.modules" = [
335-
{
336-
name = "libpipewire-module-loopback";
337-
args = {
338-
"node.description" = "IEM (Safe Mode)";
339-
"capture.props" = {
340-
"node.name" = "iem_safe_sink";
341-
"media.class" = "Audio/Sink";
342-
"audio.position" = [ "FL" "FR" ];
343-
};
344-
"playback.props" = {
345-
"node.name" = "iem_safe_out";
346-
"node.target" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo";
347-
"node.passive" = true;
348-
"audio.position" = [ "FL" "FR" ];
349-
};
350-
};
351-
}
352-
];
353-
};
354453
"92-low-latency" = {
355454
"context.properties" = {
356455
"default.clock.quantum" = 128;

0 commit comments

Comments
 (0)