Ayaan Goswami
Let's talk
All projects

Digital health ยท Machine learning / 2026

NeuroVoice AI

Daily voice checks for people with neurological conditions, analyzed entirely on the phone.

Code

Greenpath, Hollow Knight

Role
Design and development
Status
Working prototype. Not a medical device.
Stack
Flutter, Dart, whisper.cpp, FastAPI, Praat, SQLite

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:

CheckTaskWhat it's for
Reading passageRead the Rainbow Passage aloudThe same text every time, so comparisons are fair
Sustained "ahh"Hold a steady vowel for about 10 secondsVocal stability, tremor, breath support, jitter, shimmer
CountingCount from 1 to 20Pacing, pauses, articulation
Free speechTalk about a daily promptEveryday, 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.