SherlockEQ 0.1.0
SherlockEQ 0.1.0
First public release. SherlockEQ is a per-ear audio equalizer for macOS, useful for anyone who wants better control over how their Mac sounds — not only listeners with hearing differences or tinnitus. It taps system audio through Apple's native Core Audio Tap API. No virtual driver, no kernel extension, no audio-routing setup. Use the master gain by itself, or layer in audiogram-shaped curves, tinnitus notch filtering, AutoEQ headphone correction, and dose tracking — as few or as many features as you want.
What's in 0.1
Equalization
- Independent left and right EQ chains, implemented as Direct Form II Transposed biquad cascades. No AVAudioUnitEQ on the user-signal path — real per-channel separation, not coupled stereo processing.
- Four EQ modes per profile: Simple (bass / mid / treble shelves), Speech (six speech-frequency bands with presets), Advanced (ten octave-spaced parametric bands), and Expert (any band, any frequency, any filter type — keyboard-driven).
- AutoEQ headphone correction upstream of the profile EQ. Imports the standard ParametricEQ.txt format.
- Master output gain with a dedicated post-limiter stage (-60 dB to +24 dB) and per-profile stereo balance.
Tinnitus
- Continuous-phase sine sweep across 20 Hz to 20 kHz, fine-tunable to one hertz.
- Per-ear notch filtering. Set the tone for the left ear, the right ear, or both.
Audiogram
- Per-ear threshold entry on a log-frequency chart.
- Translated into an EQ curve in real time with severity bars and a live preview.
Safety
- NIOSH dose tracking with a remaining-time readout smoothed over short transients (60-second EMA in the power domain).
- Per-frequency safety overlay on the spectrum, calibration-aware.
- Menu-bar dose tint and notifications at warning and danger thresholds.
- Apple AUPeakLimiter on the output bus.
Workflow
- Menu-bar popover with master gain, balance, profile picker, level meters, and a reference-mode bypass.
- Main window with profile management, audiogram entry, four EQ surfaces, tinnitus tone finder, safe listening dashboard, and a persistent right-side monitor sidebar.
- Profile import and export. Undo and redo with per-band coalescing.
- Built-in profiles cannot be edited; duplicate to customize.
- Device auto-switch when a profile is linked to an output.
Accessibility
- VoiceOver and keyboard control across every custom canvas and drag surface, including audiogram entry, EQ band sliders, and the tinnitus sweep.
- Color-blind redundant encoding on safety zones (icon plus position, not just color).
- Reduced-motion guards on transitions. Dynamic Type respected on labels.
What's not in 0.1
- Onboarding wizard. First launch goes straight to the main UI; you will be prompted for Microphone and Screen & System Audio Recording permissions cold. The second prompt is non-obvious — macOS requires it for any system-audio capture. SherlockEQ does not record video or screen contents.
- Localization beyond English. The String Catalog infrastructure is in place; translations are not yet wired.
- Spectrogram visualization. Code is present but disabled pending a performance and UX revision.
Requirements
- macOS 14.6 or later
- Apple Silicon or Intel (universal binary)
- Microphone permission and Screen & System Audio Recording permission
Not a medical device
SherlockEQ is not a healthcare or medical application. It does not diagnose, treat, measure, or monitor any hearing condition, tinnitus, or disability. For concerns about your hearing, consult a doctor, audiologist, or licensed healthcare professional.
Acknowledgments
NIOSH dose math. Audio EQ Cookbook (Robert Bristow-Johnson) for biquad coefficients. AutoEQ project, oratory1990, and Crinacle for headphone correction profiles.