A free, open-source web-based audiometry tool for comprehensive self-administered hearing tests. This application offers both Pure Tone Audiometry and Speech Recognition Testing to evaluate your hearing from multiple perspectives.
This is NOT a medical device and should not replace professional audiological evaluation.
- This tool is for educational and screening purposes only
- Results are not calibrated to clinical audiometry standards
- Accuracy depends on your audio equipment and testing environment
- Please consult a licensed audiologist for accurate hearing assessment and diagnosis
- Do not use this tool to make medical decisions
Pure Tone Audiometry
- ✅ Standard audiometric frequencies: 250, 500, 1000, 2000, 3000, 4000, 6000, 8000 Hz
- ✅ Hughson-Westlake threshold detection method
- ✅ Separate left and right ear testing
- ✅ Visual audiogram chart generation
- ✅ Available in English and Hebrew
Speech Recognition Testing
- ✅ Word recognition at multiple volume levels
- ✅ 40-word vocabulary with multiple choice format
- ✅ Speech Recognition Threshold (SRT) calculation
- ✅ Real-world hearing ability assessment
- ✅ Available in English (uses Web Speech Synthesis)
- ✅ Practice tutorial mode for pure tone test (learn button pressing and timing)
- ✅ Choose between Pure Tone, Speech, or Complete Assessment
- ✅ Export results as PNG image
- ✅ No installation required - runs in modern web browsers
- ✅ No data collection - everything runs locally
- ✅ Mobile and desktop compatible
- ✅ Bilingual support (English/Hebrew)
- ✅ Free for personal, educational, and non-commercial use
- Setup: Calibrate your volume and verify headphone placement
- Test Selection: Choose Pure Tone, Speech, or Complete Assessment
- Tutorial (Pure Tone tests only): Practice with button pressing and timing (optional, can skip)
- Testing: Complete your selected test(s)
- Results: View comprehensive results with audiogram and/or speech performance
This application implements the standard clinical threshold detection procedure:
- Start at 40 dB HL (comfortable level)
- When tone is heard, decrease by 10 dB
- When tone is not heard, increase by 5 dB
- Threshold = quietest level where tone is heard in 2 out of 3 ascending trials
- Tests 8 frequencies in both ears (16 measurements total)
- Listen to spoken words at decreasing volume levels
- Select the word you heard from 4 multiple-choice options
- Tests 5 words at each of 8 volume levels (40 words total)
- Calculates Speech Recognition Threshold (50% accuracy point)
- Shows performance chart across all volume levels
- Headphones: Quality headphones or earbuds (not speakers)
- Environment: Quiet room with minimal background noise
- Browser: Modern browser with Web Audio API support:
- Chrome 35+ (recommended for speech test)
- Firefox 25+
- Safari 14.1+
- Edge 79+
- For Speech Test:
- English language support only (uses browser text-to-speech)
- Chrome/Edge recommended for best voice quality
- System must have English TTS voices (usually pre-installed)
- Set system volume to approximately 50% before starting
- Calibration tone will help you adjust to comfortable level
- DO NOT set volume too high - this could damage your hearing
-
Clone this repository:
git clone https://github.com/yourusername/hearing-test.git cd hearing-test -
Open
index.htmlin your web browser:# On macOS open index.html # On Linux xdg-open index.html # On Windows start index.html
Or simply drag
index.htmlinto your browser window.
You can host this application on any static web hosting service:
- GitHub Pages: Free hosting for GitHub repositories
- Netlify: Drag and drop deployment
- Vercel: Git-based deployment
- Any web server: Just upload the files
Example for GitHub Pages:
git add .
git commit -m "Initial commit"
git push origin main
# Enable GitHub Pages in repository settingshearing-test/
├── index.html # Main HTML page
├── css/
│ └── style.css # Styling and responsive design
├── js/
│ ├── audio.js # Web Audio API tone generation
│ ├── speech.js # Speech recognition test logic
│ ├── test.js # Test flow and coordination
│ ├── audiogram.js # Canvas-based audiogram chart
│ └── i18n.js # Internationalization (English/Hebrew)
├── README.md # This file
└── LICENSE # Dual License (Non-Commercial/Commercial)
- Uses Web Audio API
OscillatorNodefor pure sine wave generation - Implements stereo panning for left/right ear isolation
- Smooth fade in/out to prevent clicking artifacts
- Approximate dB HL to gain conversion (not calibrated)
- Random inter-tone intervals (1-3 seconds) to prevent anticipation
- Uses Web Speech Synthesis API for word playback
- 40-word vocabulary per language (English/Hebrew word lists included)
- Multiple-choice format with 3 distractors per word
- 8 volume levels from 100% to 10%
- Adaptive threshold calculation (50% recognition point)
- Replay option available for each word
- Standard audiogram format (frequency vs hearing level)
- Frequency axis: 250-8000 Hz (logarithmic scale)
- Hearing level axis: -10 to 100 dB HL
- Right ear: Red circles (O)
- Left ear: Blue crosses (X)
- Canvas-based rendering with high DPI support
- Full bilingual support (English/Hebrew)
- RTL (right-to-left) layout for Hebrew
- Speech test currently English-only due to browser TTS limitations
- All UI elements translated dynamically
- Calibration: Not calibrated to ISO 389 or ANSI standards
- Equipment: Results depend on headphone frequency response
- Environment: Background noise affects accuracy
- Self-administration: No audiologist to ensure proper procedure
- Bone conduction: Only tests air conduction
- Masking: No contralateral masking for cross-hearing
- Speech Test Language: Currently English-only due to browser text-to-speech voice availability
- Speech Test Accuracy: Depends on browser TTS quality and system voices
- -10 to 25 dB HL: Normal hearing
- 26 to 40 dB HL: Mild hearing loss
- 41 to 55 dB HL: Moderate hearing loss
- 56 to 70 dB HL: Moderately severe hearing loss
- 71 to 90 dB HL: Severe hearing loss
- 91+ dB HL: Profound hearing loss
If your results show potential hearing loss:
- Consult a professional: Schedule an appointment with an audiologist
- Get a proper test: Clinical audiometry is calibrated and comprehensive
- Medical evaluation: Hearing loss can have various causes requiring different treatments
- Don't panic: This test has limitations and may not be accurate
Contributions are welcome! This is an open-source project.
- Report bugs or issues
- Suggest new features
- Improve documentation
- Submit pull requests
- Share feedback
To contribute code:
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Test thoroughly
- Commit:
git commit -m "Description" - Push:
git push origin feature-name - Create a Pull Request
This project is available under a dual license model:
Free to use for:
- Personal use
- Educational and academic purposes
- Non-profit organizations
- Internal business use (not for resale or redistribution)
You can use, copy, and modify the software for these purposes at no cost.
A commercial license is required if you want to:
- Sell or distribute the software or derivatives
- Include it in a commercial product or service
- Provide paid services using this software
- Redistribute for profit
To obtain a commercial license, please contact the project owner.
See the LICENSE file for complete terms and conditions.
- Inspired by clinical audiometry procedures
- Built with standard Web Audio API
- Follows audiogram conventions from audiology literature
- No data collection: All testing happens in your browser
- No tracking: No analytics or third-party scripts
- No uploads: Results stay on your device
- No cookies: No persistent data storage (except localStorage for optional result saving)
This is a free, open-source project. For issues or questions:
- Open an issue on GitHub
- Check existing documentation
- Review the code - it's designed to be readable!
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
The authors and contributors are not responsible for any damages, injuries, or medical decisions made based on this software. Always consult qualified medical professionals for hearing health concerns.
Made with ❤️ for better hearing health awareness
Remember: This is a screening tool, not a replacement for professional hearing care.