|
153 | 153 | } |
154 | 154 | ]; |
155 | 155 | }; |
156 | | - "99-simgot-music-eq" = { |
| 156 | + "99-letshuoer-s12-pro-eq" = { |
157 | 157 | "context.modules" = [ |
158 | 158 | { |
159 | 159 | "name" = "libpipewire-module-filter-chain"; |
160 | 160 | "args" = { |
161 | | - "node.description" = "Simgot SuperMix 4 (Reference)"; |
162 | | - "media.name" = "Simgot SuperMix 4 (Reference)"; |
| 161 | + "node.description" = "Letshuoer S12 Pro"; |
| 162 | + "media.name" = "Letshuoer S12 Pro"; |
163 | 163 | "filter.graph" = { |
164 | 164 | "nodes" = [ |
165 | | - # Preamp: Adjusted for safety (-2dB is usually sufficient for cuts) |
166 | 165 | { |
167 | 166 | "type" = "builtin"; |
168 | 167 | "name" = "preamp"; |
169 | 168 | "label" = "bq_highshelf"; |
170 | | - "control" = { "Freq" = 0.0; "Gain" = -2.0; "Q" = 1.0; }; |
| 169 | + "control" = { "Freq" = 0.0; "Gain" = -1.5; "Q" = 1.0; }; |
171 | 170 | } |
172 | | - # Band 1: Bass Reduction (Low Shelf @ 110Hz) |
173 | | - # Stock SM4 has a ~10dB Harman bass shelf. We cut this to flatten the response. |
174 | 171 | { |
175 | 172 | "type" = "builtin"; |
176 | | - "name" = "band_bass"; |
177 | | - "label" = "bq_lowshelf"; |
178 | | - "control" = { "Freq" = 110.0; "Gain" = -2.5; "Q" = 0.7; }; |
179 | | - } |
180 | | - # Band 2: Lower-Mid Fill (Peak @ 250Hz) |
181 | | - # Fixes the Harman "scoop" to restore natural note weight and vocal body. |
182 | | - { |
183 | | - "type" = "builtin"; |
184 | | - "name" = "band_body"; |
| 173 | + "name" = "band_1"; |
185 | 174 | "label" = "bq_peaking"; |
186 | | - "control" = { "Freq" = 250.0; "Gain" = 1.5; "Q" = 1.0; }; |
| 175 | + "control" = { "Freq" = 21.0; "Gain" = 1.6; "Q" = 0.7; }; |
187 | 176 | } |
188 | | - # Band 3: Upper-Mid Correction (Peak @ 3000Hz) |
189 | | - # Slight reduction of the ear-gain peak for a more neutral, less forward presentation. |
190 | 177 | { |
191 | 178 | "type" = "builtin"; |
192 | | - "name" = "band_shout"; |
| 179 | + "name" = "band_2"; |
193 | 180 | "label" = "bq_peaking"; |
194 | | - "control" = { "Freq" = 3000.0; "Gain" = -1.5; "Q" = 1.4; }; |
| 181 | + "control" = { "Freq" = 140.0; "Gain" = -1.5; "Q" = 0.5; }; |
195 | 182 | } |
196 | | - # Band 4: Sibilance Control (Peak @ 6000Hz) |
197 | | - # Essential for SM4 to remove harshness on "S" and "T" sounds. |
198 | 183 | { |
199 | 184 | "type" = "builtin"; |
200 | | - "name" = "band_sibilance"; |
| 185 | + "name" = "band_3"; |
201 | 186 | "label" = "bq_peaking"; |
202 | | - "control" = { "Freq" = 6000.0; "Gain" = -2.5; "Q" = 2.0; }; |
| 187 | + "control" = { "Freq" = 250.0; "Gain" = -0.9; "Q" = 1.2; }; |
203 | 188 | } |
204 | | - # Band 5: PZT Timbre Tame (High Shelf @ 11500Hz) |
205 | | - # Smooths out the artificial "zing" from the Piezo driver. |
206 | 189 | { |
207 | 190 | "type" = "builtin"; |
208 | | - "name" = "band_air"; |
209 | | - "label" = "bq_highshelf"; |
210 | | - "control" = { "Freq" = 11500.0; "Gain" = -3.0; "Q" = 0.7; }; |
211 | | - } |
212 | | - ]; |
213 | | - "links" = [ |
214 | | - { "output" = "preamp:Out"; "input" = "band_bass:In"; } |
215 | | - { "output" = "band_bass:Out"; "input" = "band_body:In"; } |
216 | | - { "output" = "band_body:Out"; "input" = "band_shout:In"; } |
217 | | - { "output" = "band_shout:Out"; "input" = "band_sibilance:In"; } |
218 | | - { "output" = "band_sibilance:Out"; "input" = "band_air:In"; } |
219 | | - ]; |
220 | | - "inputs" = [ "preamp:In" ]; |
221 | | - "outputs" = [ "band_air:Out" ]; |
222 | | - }; |
223 | | - "audio.channels" = 2; |
224 | | - "audio.position" = [ "FL" "FR" ]; |
225 | | - "capture.props" = { |
226 | | - "node.passive" = true; |
227 | | - "media.class" = "Audio/Sink"; |
228 | | - }; |
229 | | - "playback.props" = { |
230 | | - "node.passive" = false; |
231 | | - "target.object" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo"; |
232 | | - }; |
233 | | - }; |
234 | | - } |
235 | | - ]; |
236 | | - }; |
237 | | - "99-simgot-eq" = { |
238 | | - "context.modules" = [ |
239 | | - { |
240 | | - name = "libpipewire-module-filter-chain"; |
241 | | - args = { |
242 | | - "node.description" = "Simgot SuperMix 4 EQ"; |
243 | | - "media.name" = "Simgot SuperMix 4 EQ"; |
244 | | - "filter.graph" = { |
245 | | - nodes = [ |
246 | | - # Preamp (-3.0 dB) -> Linear Gain ~0.707 |
247 | | - { |
248 | | - type = "builtin"; |
249 | | - name = "preamp"; |
250 | | - label = "copy"; |
251 | | - control = { "Gain" = 0.7079; }; |
252 | | - } |
253 | | - # Band 1 |
254 | | - { |
255 | | - type = "builtin"; |
256 | | - name = "band_1"; |
257 | | - label = "bq_peaking"; |
258 | | - control = { "Freq" = 20.0; "Gain" = -0.9; "Q" = 2.0; }; |
259 | | - } |
260 | | - # Band 2 |
261 | | - { |
262 | | - type = "builtin"; |
263 | | - name = "band_2"; |
264 | | - label = "bq_peaking"; |
265 | | - control = { "Freq" = 53.0; "Gain" = -1.6; "Q" = 1.1; }; |
266 | | - } |
267 | | - # Band 3 |
268 | | - { |
269 | | - type = "builtin"; |
270 | | - name = "band_3"; |
271 | | - label = "bq_peaking"; |
272 | | - control = { "Freq" = 160.0; "Gain" = 0.6; "Q" = 0.8; }; |
273 | | - } |
274 | | - # Band 4 |
275 | | - { |
276 | | - type = "builtin"; |
277 | | - name = "band_4"; |
278 | | - label = "bq_peaking"; |
279 | | - control = { "Freq" = 170.0; "Gain" = -1.7; "Q" = 2.0; }; |
280 | | - } |
281 | | - # Band 5 |
282 | | - { |
283 | | - type = "builtin"; |
284 | | - name = "band_5"; |
285 | | - label = "bq_peaking"; |
286 | | - control = { "Freq" = 390.0; "Gain" = 3.0; "Q" = 1.0; }; |
287 | | - } |
288 | | - # Band 6 |
289 | | - { |
290 | | - type = "builtin"; |
291 | | - name = "band_6"; |
292 | | - label = "bq_peaking"; |
293 | | - control = { "Freq" = 1600.0; "Gain" = -1.9; "Q" = 1.2; }; |
294 | | - } |
295 | | - # Band 7 |
296 | | - { |
297 | | - type = "builtin"; |
298 | | - name = "band_7"; |
299 | | - label = "bq_peaking"; |
300 | | - control = { "Freq" = 3500.0; "Gain" = 1.9; "Q" = 2.0; }; |
301 | | - } |
302 | | - # Band 8 |
303 | | - { |
304 | | - type = "builtin"; |
305 | | - name = "band_8"; |
306 | | - label = "bq_peaking"; |
307 | | - control = { "Freq" = 5200.0; "Gain" = -3.6; "Q" = 2.0; }; |
308 | | - } |
309 | | - # Band 9 |
310 | | - { |
311 | | - type = "builtin"; |
312 | | - name = "band_9"; |
313 | | - label = "bq_peaking"; |
314 | | - control = { "Freq" = 9300.0; "Gain" = 4.8; "Q" = 2.0; }; |
315 | | - } |
316 | | - # Band 10 |
317 | | - { |
318 | | - type = "builtin"; |
319 | | - name = "band_10"; |
320 | | - label = "bq_peaking"; |
321 | | - control = { "Freq" = 13000.0; "Gain" = -6.7; "Q" = 1.3; }; |
| 191 | + "name" = "band_4"; |
| 192 | + "label" = "bq_peaking"; |
| 193 | + "control" = { "Freq" = 760.0; "Gain" = 0.8; "Q" = 1.7; }; |
322 | 194 | } |
323 | | - ]; |
324 | | - |
325 | | - # Chain: Preamp -> Band 1 -> Band 2 ... -> Band 10 |
326 | | - links = [ |
327 | | - { output = "preamp:Out"; input = "band_1:In"; } |
328 | | - { output = "band_1:Out"; input = "band_2:In"; } |
329 | | - { output = "band_2:Out"; input = "band_3:In"; } |
330 | | - { output = "band_3:Out"; input = "band_4:In"; } |
331 | | - { output = "band_4:Out"; input = "band_5:In"; } |
332 | | - { output = "band_5:Out"; input = "band_6:In"; } |
333 | | - { output = "band_6:Out"; input = "band_7:In"; } |
334 | | - { output = "band_7:Out"; input = "band_8:In"; } |
335 | | - { output = "band_8:Out"; input = "band_9:In"; } |
336 | | - { output = "band_9:Out"; input = "band_10:In"; } |
337 | | - ]; |
338 | | - |
339 | | - inputs = [ "preamp:In" ]; |
340 | | - outputs = [ "band_10:Out" ]; |
341 | | - }; |
342 | | - "audio.channels" = 2; |
343 | | - "audio.position" = [ "FL" "FR" ]; |
344 | | - "capture.props" = { |
345 | | - "node.passive" = true; |
346 | | - "media.class" = "Audio/Sink"; |
347 | | - }; |
348 | | - "playback.props" = { |
349 | | - "node.passive" = false; |
350 | | - "node.target" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo"; |
351 | | - }; |
352 | | - }; |
353 | | - } |
354 | | - ]; |
355 | | - }; |
356 | | - "99-simgot-cs2" = { |
357 | | - "context.modules" = [ |
358 | | - { |
359 | | - "name" = "libpipewire-module-filter-chain"; |
360 | | - "args" = { |
361 | | - "node.description" = "Simgot SuperMix 4 (CS2 Comp)"; |
362 | | - "media.name" = "Simgot SuperMix 4 (CS2 Comp)"; |
363 | | - "filter.graph" = { |
364 | | - "nodes" = [ |
365 | | - # Preamp: Safety reduction |
366 | 195 | { |
367 | 196 | "type" = "builtin"; |
368 | | - "name" = "preamp"; |
369 | | - "label" = "bq_highshelf"; |
370 | | - "control" = { "Freq" = 0.0; "Gain" = -4.0; "Q" = 1.0; }; |
| 197 | + "name" = "band_5"; |
| 198 | + "label" = "bq_peaking"; |
| 199 | + "control" = { "Freq" = 4100.0; "Gain" = 3.5; "Q" = 2.0; }; |
371 | 200 | } |
372 | | - # Band 1: Low Shelf 125Hz -4.0dB (CUTS Explosion Rumble) |
373 | 201 | { |
374 | 202 | "type" = "builtin"; |
375 | | - "name" = "band_1"; |
376 | | - "label" = "bq_lowshelf"; |
377 | | - "control" = { "Freq" = 125.0; "Gain" = -4.0; "Q" = 0.7; }; |
| 203 | + "name" = "band_6"; |
| 204 | + "label" = "bq_peaking"; |
| 205 | + "control" = { "Freq" = 5400.0; "Gain" = 4.0; "Q" = 2.0; }; |
378 | 206 | } |
379 | | - # Band 2: Peak 250Hz -2.0dB (Removes Mud) |
380 | 207 | { |
381 | 208 | "type" = "builtin"; |
382 | | - "name" = "band_2"; |
| 209 | + "name" = "band_7"; |
383 | 210 | "label" = "bq_peaking"; |
384 | | - "control" = { "Freq" = 250.0; "Gain" = -2.0; "Q" = 1.0; }; |
| 211 | + "control" = { "Freq" = 6250.0; "Gain" = -11.0; "Q" = 1.0; }; |
385 | 212 | } |
386 | | - # Band 3: Peak 2000Hz +2.0dB (BOOSTS Footsteps) |
387 | 213 | { |
388 | 214 | "type" = "builtin"; |
389 | | - "name" = "band_3"; |
| 215 | + "name" = "band_8"; |
390 | 216 | "label" = "bq_peaking"; |
391 | | - "control" = { "Freq" = 2000.0; "Gain" = 2.0; "Q" = 1.4; }; |
| 217 | + "control" = { "Freq" = 9000.0; "Gain" = 5.5; "Q" = 1.5; }; |
392 | 218 | } |
393 | | - # Band 4: Peak 4000Hz +2.5dB (BOOSTS Info/Reloads) |
394 | 219 | { |
395 | 220 | "type" = "builtin"; |
396 | | - "name" = "band_4"; |
397 | | - "label" = "bq_peaking"; |
398 | | - "control" = { "Freq" = 4000.0; "Gain" = 2.5; "Q" = 1.4; }; |
| 221 | + "name" = "band_9"; |
| 222 | + "label" = "bq_highshelf"; |
| 223 | + "control" = { "Freq" = 10000.0; "Gain" = 1.7; "Q" = 0.707; }; |
399 | 224 | } |
400 | | - # Band 5: High Shelf 10000Hz -1.5dB (Reduces Fatigue/Piezo Zing) |
401 | 225 | { |
402 | 226 | "type" = "builtin"; |
403 | | - "name" = "band_5"; |
404 | | - "label" = "bq_highshelf"; |
405 | | - "control" = { "Freq" = 10000.0; "Gain" = -1.5; "Q" = 0.7; }; |
| 227 | + "name" = "band_10"; |
| 228 | + "label" = "bq_peaking"; |
| 229 | + "control" = { "Freq" = 12500.0; "Gain" = -4.0; "Q" = 2.0; }; |
406 | 230 | } |
407 | 231 | ]; |
408 | 232 | "links" = [ |
|
411 | 235 | { "output" = "band_2:Out"; "input" = "band_3:In"; } |
412 | 236 | { "output" = "band_3:Out"; "input" = "band_4:In"; } |
413 | 237 | { "output" = "band_4:Out"; "input" = "band_5:In"; } |
| 238 | + { "output" = "band_5:Out"; "input" = "band_6:In"; } |
| 239 | + { "output" = "band_6:Out"; "input" = "band_7:In"; } |
| 240 | + { "output" = "band_7:Out"; "input" = "band_8:In"; } |
| 241 | + { "output" = "band_8:Out"; "input" = "band_9:In"; } |
| 242 | + { "output" = "band_9:Out"; "input" = "band_10:In"; } |
414 | 243 | ]; |
415 | 244 | "inputs" = [ "preamp:In" ]; |
416 | | - "outputs" = [ "band_5:Out" ]; |
| 245 | + "outputs" = [ "band_10:Out" ]; |
417 | 246 | }; |
418 | 247 | "audio.channels" = 2; |
419 | 248 | "audio.position" = [ "FL" "FR" ]; |
|
423 | 252 | }; |
424 | 253 | "playback.props" = { |
425 | 254 | "node.passive" = false; |
426 | | - "target.object" = "correction_input"; |
427 | | - }; |
428 | | - }; |
429 | | - } |
430 | | - ]; |
431 | | - }; |
432 | | - "99-balance-correction" = { |
433 | | - "context.modules" = [ |
434 | | - { |
435 | | - name = "libpipewire-module-filter-chain"; |
436 | | - args = { |
437 | | - "node.description" = "Simgot SuperMix 4 Balance Correction"; |
438 | | - "media.name" = "Simgot SuperMix 4 Balance Correction"; |
439 | | - "filter.graph" = { |
440 | | - nodes = [ |
441 | | - { |
442 | | - type = "builtin"; |
443 | | - name = "mix_L"; |
444 | | - label = "mixer"; |
445 | | - control = { "Gain 1" = 1.318; }; # +2.4 dB Boost |
446 | | - } |
447 | | - { |
448 | | - type = "builtin"; |
449 | | - name = "mix_R"; |
450 | | - label = "mixer"; |
451 | | - control = { "Gain 1" = 1.0; }; # 0 dB (Neutral) |
452 | | - } |
453 | | - ]; |
454 | | - # Map Graph Inputs (FL/FR) to the specific mixer inputs |
455 | | - inputs = [ "mix_L:In 1" "mix_R:In 1" ]; |
456 | | - outputs = [ "mix_L:Out" "mix_R:Out" ]; |
457 | | - }; |
458 | | - "capture.props" = { |
459 | | - "node.name" = "correction_input"; |
460 | | - "media.class" = "Audio/Sink"; |
461 | | - "audio.position" = [ "FL" "FR" ]; |
462 | | - }; |
463 | | - "playback.props" = { |
464 | | - "node.name" = "correction_output"; |
465 | | - "node.passive" = true; |
466 | | - "audio.position" = [ "FL" "FR" ]; |
467 | | - "node.target" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo"; |
| 255 | + "target.object" = "alsa_output.usb-FiiO_FiiO_KA3_FiiO_KA3-00.analog-stereo"; |
468 | 256 | }; |
469 | 257 | }; |
470 | 258 | } |
|
0 commit comments