Where it came from
As part of an application to a university research lab, I built an XGBoost model on the UCI Parkinson's voice dataset and used SHAP to see which vocal features drove each prediction. The voice carries a lot of signal: jitter, shimmer, how steady a held vowel stays. But a classifier trained on a public dataset isn't something a patient can use. What I actually wanted was something that watches how one person's speech changes over weeks and months.
What it does
NeuroVoice is built for people living with conditions that affect speech, like Parkinson's, ALS, MS, aphasia, or stroke recovery. Each day you do one or more short checks:
| Check | Task | What it's for |
|---|---|---|
| Reading passage | Read the Rainbow Passage aloud | The same text every time, so comparisons are fair |
| Sustained "ahh" | Hold a steady vowel for about 10 seconds | Vocal stability, tremor, breath support, jitter, shimmer |
| Counting | Count from 1 to 20 | Pacing, pauses, articulation |
| Free speech | Talk about a daily prompt | Everyday, spontaneous language |
Each recording is measured for speech rate, articulation rate, pauses, pitch and pitch variability, volume, jitter, shimmer, harmonic-to-noise ratio, voice tremor, rhythm, pronunciation confidence, and MFCCs, then compared against your own baseline from your first five recordings. You get a 0 to 100 stability score, trend charts for each check type, and a plain-language summary. The summary is generated deterministically, with no paid language model involved. There's also a report you can export for a clinician.
On the phone by default
Voice recordings of someone's health are about as personal as data gets, so by default nothing leaves the device. The whisper.cpp tiny.en speech model ships inside the app, and all of the acoustic analysis runs in a signal processing engine I wrote in pure Dart. No PC, no cloud, no network.
If you want slightly better transcription, you can point the app at an optional FastAPI server on your own computer instead. That server does noise reduction, Whisper transcription with beam search and word confidence, Praat-based acoustic features, and can use SpeechBrain's ECAPA-TDNN speaker embeddings if they're installed.
What it isn't
NeuroVoice tracks change over time. It doesn't diagnose anything, and the app says so.
