Refactored the README to provide a clearer overview of the custom PipeWire DSP graph for MacBook Pro 15,1 speakers. Removed detailed technical explanations and prior art discussions, focusing instead on concise documentation of the key improvements: warm voicing, multiband dynamics, FIR correction, and driver safety features. This makes the documentation more accessible while preserving essential information about the non-driver nature of the solution and its advantages over upstream configurations.
This commit introduces support for overriding the user_eq settings via a local user_eq.json file, allowing users to customize their audio profile without modifying the committed graph.json. The change includes:
- Adding user_eq.json to .gitignore
- Updating apply.sh to merge user_eq.json contents into the effective graph when present
- Rewriting INSTALL.md and README.md to document the new override workflow
- Enhancing preflight checks in apply.sh to use the merged graph
- Providing clear instructions for both override file and direct editing approaches
The new approach allows users to maintain custom EQ settings across git pulls while preserving the ability to edit graph.json directly when needed.
- Document prerequisites including kernel, ALSA, and required packages.
- Provide steps to clone the repository and install LV2 plugin dependencies.
- Include instructions for verifying plugin URIs and applying the graph.
- Outline troubleshooting steps for common issues.
al_1 (90-200 Hz) 0.161 -> 0.128, al_2 (200-500 Hz) 0.200 -> 0.159.
With cr 20 / cr 15 these bands pin near threshold, so a ~2 dB lower
threshold = ~2 dB lower peak ceiling. Sub band (band 0) and quiet
material unchanged.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- convLW/convRW gain 1.5 -> 1.15 (near unity)
- EQ bass bells g_1..g_5 raised ~+2.3 dB (1.4/1.9/2.5/2.0/1.5 ->
1.82/2.48/3.26/2.61/1.75) to keep the same woofer output level
Net woofer SPL unchanged, but the low-end drive now passes through
the multiband + main limiter + wlim instead of being a fixed gain
applied after every dynamics stage. Side effect: ~250-500 Hz woofer
output is ~1-2 dB leaner (g_5 only partly compensated, g_6 not) -
raise g_5/g_6 if you want it flat. README updated.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
cr_1 (90-200 Hz) 10 -> 20, cr_2 (200-500 Hz) 7 -> 15. The three
bands below ~500 Hz now all behave as limiters, tightening excursion
and boom control. Thresholds/attacks unchanged. README updated with
the boxy-vocal caveat on band 2.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Lower headroom pressure in the EQ / virtualbass stages:
- equalizer g_in 0.7 -> 0.5 (~-3 dB more pad)
- restore the ~3 dB at multiband_compressor g_out 1.0 -> 1.4, after
the band detectors and right before the main limiter
- scale band thresholds al_0..al_5 by 0.5/0.7 so the compressor
behaves identically at the lower internal level
Path is 32-bit float end to end so this is about keeping virtualbass
and the plugin detectors out of the red, not fixing hard clipping
(which only occurs at the sink). README updated.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Keep the EQ (and quiet-listening tonality) untouched; move all peak/
excursion control into the dynamics stages so turning the volume up
runs into limiting, never clipping or woofer bottoming.
- multiband_compressor: 4 -> 6 bands, Modern mode, crossovers
90/200/500/1500/5000 Hz. Band 0 near-brick-wall (cr 50, al 0.13,
6 ms); higher bands limit progressively gentler. Thresholds kept
near stock so sub-threshold (quiet) material is unaffected.
- main limiter release 0.8 -> 0.35 s.
- new wlim (-2 dB) after convLW/convRW and tlim (-1 dB) after
convLT/convRT: fastLookaheadLimiter instances that clamp the actual
post-FIR driver signal. wlim is the mechanical-excursion backstop;
tlim also keeps the tweeter/woofer paths time-aligned.
- outputs rewired to wlim/tlim (FL/FR/RL/RR order preserved).
README updated: signal chain, change table, rationale, tuning knobs.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Fork of lemmyg/t2-apple-audio-dsp configs/15_1/graph.json:
- add LSP 16-band parametric EQ front stage (warm voicing tilt, g_in 0.7)
- EQ band 0 as 24 dB/oct high-pass @ 50 Hz to protect the woofers
- swap single-band compressor for LSP 4-band mb_compressor so only the
sub band (<120 Hz) is clamped on bass beats, keeping mids open
- woofer FIR gain 1.0 -> 1.5
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>