中文 | English
HearAdjust is a Chrome extension for real-time hearing-loss simulation and hearing-aid style audio adjustment. It lets hearing users briefly experience how different hearing conditions sound, while also giving users a simple 8-band EQ workflow for personal compensation.
Simulate different hearing conditions in real time with Web Audio processing.
| Preset | Description |
|---|---|
| Mild Loss | Mild high-frequency attenuation that makes detail harder to catch in noisy environments |
| Moderate Loss | Stronger rolloff from speech-critical bands, making consonants difficult to follow |
| Severe Loss | Heavy attenuation across the spectrum, leaving only very loud sounds clearly audible |
| Presbycusis | Age-related high-frequency loss with reduced speech clarity in background noise |
| Noise-Induced | A characteristic 4kHz notch caused by long-term loud-noise exposure |
| Tinnitus | A persistent 6kHz tone layered onto otherwise normal hearing |
| Low-Frequency Loss | Reduced perception of low sounds while highs remain comparatively clear |
| Custom Audiogram | Enter your own loss curve so other people can hear your everyday listening reality |
Adjust an 8-band EQ manually, or start from quick presets:
- Flat Reset
- Speech Focus
- Treble Boost
- Bass Boost
Settings are saved locally and restored the next time the popup opens.
This project is currently meant to be loaded as an unpacked extension.
- Clone or download this repository.
- Open
chrome://extensionsin Chrome. - Enable Developer Mode.
- Click Load unpacked.
- Select the project root folder.
Chrome 116 or later is required because the extension uses Manifest V3 and the offscreen API.
- Open a tab that is playing audio or video.
- Click the HearAdjust extension icon.
- The current version can only process one browser tab at a time.
- Move the three-state switch left for Empathy Mode or right for Hearing Aid Mode.
- Choose a preset or adjust the sliders.
- Move the switch back to the center position to turn processing off before switching to another tab.
When the switch is in the center position, the popup shows an overview of both modes instead of leaving the previous control panel visible.
- Click any hearing-condition card to apply it immediately.
- Choose Custom Audiogram to enter your own loss curve across 8 frequency bands.
- Tinnitus adds an extra continuous sine tone to simulate subjective ringing.
- Quick presets apply common compensation curves instantly.
- The 8 sliders range from
-40dBto+40dB. - The
+40dBceiling is a conservative product limit for the current implementation, not a clinical fitting rule. HearAdjust currently uses a simple 8-band peaking-EQ chain and does not yet add multiband compression, output limiting, feedback cancellation, or frequency lowering, so pushing much higher gain would more easily raise noise, exaggerate harsh bands, and create clipping or unstable listening. - Manual slider changes clear the active quick-preset highlight.
For a deeper discussion of why the limit exists today, and what algorithms are commonly used when stronger hearing compensation is needed, see docs/hearing-aid-compensation.md and docs/hearing-aid-compensation.zh-CN.md.
- The current version only supports one active tab at a time. To process another page, turn the current one off first.
- Some DRM-protected websites cannot be captured through
tabCapture. - Severe presets can reduce loudness substantially, so test carefully.
popup.html / popup.js
-> background.js (service worker)
-> offscreen.js (offscreen document)
-> audioProcessor.js (EQ filters + tinnitus oscillator)
- Manifest V3 Chrome Extension
- Web Audio API
chrome.tabCapturechrome.offscreen- Vanilla JavaScript with ES modules
- Add independent left/right ear controls, including single-sided deafness and asymmetric channel simulation
- Add audiogram import templates and quick-fill helpers for custom hearing profiles
- Replace the custom audiogram sliders with a more clinical chart-style editor
- Add export and share actions for custom hearing profiles
HearAdjust is not a medical device. It is a small empathy and accessibility project intended to help people better understand hearing loss and explore sound adaptation in a direct, interactive way.