✨ New Features
🎧 Loudness Compensation & Equalization
- Fletcher-Munson correction — At low volumes, human hearing loses sensitivity to bass and treble. FineTune now applies frequency-dependent EQ based on ISO 226:2023 equal-loudness contours to compensate, driven by your device and per-app volume
- Real-time loudness equalization — Measures signal loudness using K-weighted (ITU-R BS.1770) RMS and applies wideband gain with a soft-knee compressor to keep perceived loudness near a target
- Both features behind a single toggle in settings, disabled by default
🔔 Alert Volume
- Control macOS alert and notification volume directly from FineTune settings
- Live sync with System Settings via periodic polling
🔊 Software Device Volume
- Volume control for output devices that don't support hardware volume (e.g., some USB DACs)
- Opt-in via Settings — off by default to avoid conflicts with hardware volume
🔧 Improvements
- User EQ presets — Save, rename, and delete custom EQ configurations per device
- AutoEQ panel redesign — Flat layout with mini toggles, cleaner search and profile browsing
- EQ preset name validation — Discoverable delete and inline rename
🐛 Bug Fixes
- Fixed muted icon not showing when displayed volume is 0% (#120)
- Fixed double audio taper on device volume slider — volume curve now matches System Settings
- Fixed USB DAC volume quantization feedback loop causing slider jitter
- Fixed external headphones not getting EQ applied (PR #203)
- Fixed DDC volume slider mixed up on multi-monitor setups (PR #192)
- Fixed dropdown layout issue with LazyVStack (PR #184)
- Fixed AutoEQ correction toggle to be non-destructive (PR #208)
- Fixed alert volume write path using osascript subprocess and debounce
New Contributors
- @thirdnull made their first contribution in #184
- @Haeger23 made their first contribution in #192
- @Vinceundco made their first contribution in #203
- @coygeek made their first contribution in #208
- @djbob2000 made their first contribution in #224
Full Changelog: v1.4.1...v1.5.0