Inspiration
Hearing loss affects over 1.5 billion people globally, yet most individuals never take a hearing test until they experience major difficulties. We wanted to build a tool that allows anyone to assess their hearing in minutes, privately, accessibly, and for free. Instead of relying on APIs or black-box models, we focused on transparency, reproducibility, and educational value.
Our goal was to empower users to understand their own hearing health and also to simulate what different types of hearing loss sound like, helping users and their loved ones gain empathy and insight.
What it does
SoundCheck is a self-guided hearing test and hearing loss simulator. Users interact with a series of real sine-wave tones at clinically relevant frequencies (500 Hz to 8000 Hz), responding to whether they can hear each tone. These responses are used to build a user-specific hearing profile.
The app uses a machine learning model trained on real-world audiometry data to classify the user's hearing ability into categories such as Normal, Mild, Moderate, Severe, or Profound loss. It then visualizes this profile in real time.
In addition to testing, SoundCheck includes a feature that lets users experience what hearing loss sounds like by applying frequency filters to real audio clips, allowing them to simulate high-frequency or general mild hearing loss.
How we built it
- Frontend: Built with Streamlit to provide a responsive and interactive interface. It plays tones, collects user input, visualizes results, and plays simulated hearing-loss audio.
- Backend: FastAPI handles inference calls and optional response storage.
- ML Model: We trained a random forest, decision tree, and logistic regression model on cleaned NHANES audiometry examination data and selected the best among them, averaging thresholds across both ears at 7 standard frequencies. The model predicts hearing loss category based on pure-tone average (PTA) and individual threshold values.
- Audio Processing: Used
scipy,numpy, andlibrosato generate tones and simulate hearing loss via frequency band filtering.
Challenges we ran into
- Cleaning and structuring the NHANES audiometry data, which comes in multiple .XPT files with inconsistent codes and missing values
- Generating reliable sine-wave audio files in a browser-compatible format, and ensuring consistent volume and tone length
- Ensuring that users’ hardware (headphones, speakers) would not invalidate the test results
- Balancing medical realism with usability and simplicity in a non-clinical environment
Accomplishments that we're proud of
- Developed a fully functional, interactive hearing test entirely in the browser using only open-source technologies
- Achieved 99% accuracy with our hearing loss classification model, trained on real audiometry data from NHANES
- Successfully simulated different types of hearing loss using frequency filtering, providing users with a unique and educational auditory experience
- Made hearing health accessible, educational, and testable for users with no special equipment or clinical access
What we learned
- How to work with real audiometric data, including understanding clinical standards like PTA and dB HL thresholds
- Techniques for digital signal processing and simulating hearing loss through frequency filters
- Building a reproducible and fully transparent ML pipeline, from dataset to deployment
- Best practices for making web apps that are both educational and health-aware
What's next for SoundCheck
- Add personalized feedback and recommendations based on hearing loss type
- Enable multiple test sessions and hearing history tracking
- Localize the test instructions for global access
- Collaborate with audiologists to expand the dataset and validate clinical relevance
Log in or sign up for Devpost to join the conversation.