⚠️ EXPERIMENTAL SOFTWARE — NOT A MEDICAL DEVICE
This program has not been reviewed, tested, or approved by any medical authority, regulatory body (FDA, CE, etc.), or healthcare organization. It is provided as-is for experimental and educational purposes only. Use entirely at your own risk. Do not use this as a substitute for professional medical advice, diagnosis, or treatment. If you have concerns about your hearing or tinnitus, consult a qualified audiologist or physician.
A free, open-source tinnitus assessment and therapy tool built on peer-reviewed TMNMT research.
No account, no subscription, no data sent anywhere. Everything runs locally in your browser — or as a native Android app.
🌐 Live app: aaronminer1.github.io/tinnitus-suite
| Feature | Description |
|---|---|
| Pure-tone audiometry | ISO 8253-1 Hughson-Westlake method across 250 Hz – 16 kHz (3 resolution modes: Quick/Standard/Fine) |
| 2-of-3 threshold confirmation | Proper ascending threshold requires 2 heard responses out of 3 attempts at the same level |
| Catch trials | ~15% of presentations are silent to detect false-positive responses — warns if accuracy is low |
| Per-ear testing | Independent left/right audiograms with explicit opposite-channel silence to prevent bleed |
| Asymmetry detection | Warns when left/right thresholds differ by ≥20 dB — a clinically significant finding |
| NIHL notch detection | Identifies noise-induced hearing loss patterns (4 kHz / 6 kHz notching) |
| Volume calibration | Guided 6-step calibration with a 1 kHz reference tone at –20 dBFS. Calibration status is saved with results |
| Crash-safe auto-save | Intermediate results saved to sessionStorage so a crash doesn't lose a 15-minute test |
| Feature | Description |
|---|---|
| Logarithmic frequency sweep | Pinpoint your exact tinnitus pitch (200 Hz – 20 kHz) |
| Audiogram-guided | Starts at your worst hearing frequency, routes to your worse ear |
| Cross-session consistency | Tracks frequency variance across sessions in cents — warns if matches are inconsistent |
| Slope-based noise recommendation | If high-frequency loss > 20 dB worse than low, recommends pink noise |
| Feature | Description |
|---|---|
| Research-based 1-octave notch | ERB-scaled notch width per Okamoto et al. 2010 (PNAS) |
| 5 carrier types | Notched music (evidence-based ★), notched white, white, pink (Voss-McCartney IIR), brown (leaky integrator) |
| Music file carrier | Upload your own MP3/WAV/OGG/M4A — the strongest evidence-based carrier |
| Audiogram EQ | Compensates for hearing loss with per-frequency peaking filters (gain capped at +18 dB) |
| Notch depth control | 0–40 dB slider (capped per research — clinical studies used 12–20 dB) |
| Nyquist guard | Clamps notch center to 90% of Nyquist to prevent biquad instability |
| Volume safety | Warning banner when volume exceeds 72 dB SPL equivalent |
| Session tracking | Cumulative duration tracking with daily target progress bar |
| Sleep timer | Auto-fade with session auto-save |
| Feature | Description |
|---|---|
| DynamicsProcessing API | 20-band preEQ on audio session 0 — filters ALL device audio (Spotify, YouTube, Pandora, etc.) |
| Audiogram compensation | 12-band hearing-loss EQ applied alongside 8-band notch shaping |
| Pink/brown spectral tilt | –3 dB/octave (pink) or –6 dB/octave (brown) tilt applied to EQ bands |
| Safety cap | Combined gain never exceeds +18 dB on any band |
| Animated visualization | 80-bar spectrum analyzer showing notch region and noise color tilt |
| Session timer & tracking | Elapsed time, daily target progress, session persistence |
| Streaming sleep timer | Auto-disable after configured duration |
| Background survival | Foreground service + silent MediaPlayer loop + WebAudio keep-alive + wake lock |
| Persistent notification | Shows active frequency/depth, tap to return to app |
| Feature | Description |
|---|---|
| Multi-user accounts | Per-user profiles with independent audiograms, tone history, and sessions |
| History & progression | Audiogram comparisons, tone match history, session streaks, cumulative hours |
| Double-notch guard | Warns if both in-app and streaming notch are active simultaneously |
| PWA support | Install as a standalone app on any device |
| Evidence disclaimer | Prominent banner with links to published research |
Just open your browser and go to:
https://aaronminer1.github.io/tinnitus-suite/
Works on Chrome, Edge, Firefox, and Safari. Use headphones for the hearing test.
Note: The system-wide streaming notch filter requires the Android native app (see below). The web version has all other features.
- Node.js v18 or higher (includes npm)
- A modern browser
git clone https://github.com/Aaronminer1/tinnitus-suite.git
cd tinnitus-suite
npm install
npm startThen open http://localhost:5173.
Don't have Git? Download the ZIP from the green Code button above, extract it, then run
npm install && npm start.
- Node.js v18+
- Android SDK (API 28+ for DynamicsProcessing, API 36 for full feature set)
- Java 17+
npm run build
npx cap sync android
cd android
./gradlew assembleDebugInstall via ADB:
adb install -r app/build/outputs/apk/debug/app-debug.apk- System-wide notch filter using Android DynamicsProcessing (API 28+)
- Foreground service with persistent notification for background operation
- Silent audio keep-alive prevents Samsung/OEM process killing
- Battery optimization exemption requested on first enable
- Service survives task removal (
stopWithTask=false+onTaskRemovedrestart)
npm run build
npm run previewThe dist/ folder contains a fully static site you can host anywhere.
- Create a profile — multi-user support, all data stays local
- Calibrate your volume — 6-step guide with a 1 kHz reference tone
- Take the hearing test — Quick (9 freqs), Standard (12), or Fine (16 up to 16 kHz)
- Review your audiogram — per-ear thresholds, asymmetry warnings, NIHL detection
- Find your tinnitus tone — logarithmic sweep starting at your worst frequency
- Start therapy — choose in-app notched noise OR system-wide streaming filter
- For streaming: enable the notch, open Spotify/YouTube/Pandora — the filter applies to all audio
This app implements Tailor-Made Notched Music Training (TMNMT) based on:
- Okamoto et al. 2010 — "Listening to tailor-made notched music reduces tinnitus loudness and tinnitus-related auditory cortex activity" (PNAS)
- Pantev, Okamoto & Teismann 2012 — "Music-induced cortical plasticity and lateral inhibition in the human auditory cortex as foundations for tonal tinnitus treatment" (Frontiers in Systems Neuroscience)
Key implementation details from the research:
- 1-octave notch width (ERB-scaled) — wider than the 0.5-octave many apps use
- Music carrier preferred — the studies used music, not noise
- 12–20 dB notch depth — deeper notches had no additional benefit
- 1–2 hours daily — the clinical protocol duration
See TINNITUS_RESEARCH.md for the research notes that informed the current implementation.
| Browser | Status |
|---|---|
| Chrome / Edge 90+ | ✅ Full support |
| Firefox 90+ | ✅ Full support |
| Safari 15+ | ✅ Full support |
| Mobile Chrome/Safari | ✅ Works (use earbuds) |
| Android native (API 28+) | ✅ Full support + streaming notch |
Requires Web Audio API (all modern browsers support this).
- No server. No analytics. No cookies.
- All data (audiogram, sessions, calibration) is stored only in your browser's localStorage.
- The Android app stores nothing beyond what the WebView's localStorage holds.
- Clearing browser/app data removes all stored results.
Pull requests welcome. To run the dev server with hot reload:
npm run devMIT — free to use, modify, and distribute.
THIS IS EXPERIMENTAL SOFTWARE. USE AT YOUR OWN RISK.
- This tool is not a medical device
- It has not been approved, certified, or reviewed by any medical authority, government agency, or regulatory body (including but not limited to the FDA, CE, TGA, MHRA, or Health Canada)
- It is not intended to diagnose, treat, cure, or prevent any disease or medical condition
- Results from this tool should not be used to make medical or clinical decisions
- The authors and contributors accept no liability for any harm, hearing damage, or adverse effects arising from use of this software
- Do not use headphone volumes that cause discomfort — stop immediately if you experience pain or worsening symptoms
- Always consult a qualified audiologist or ENT specialist for professional hearing assessment and tinnitus management