Cadence
a gentle wellness check for your voice
Read one short sentence aloud. In a few seconds we’ll show you clear, interpretable insights about your speech patterns.
Your voice is analysed on the spot and then discarded.
How it works
1 · Read
Say one short sentence out loud, nice and natural.
2 · We listen
We measure pitch, rhythm and clarity right on the page.
3 · Insights
Get a friendly voice report you can actually understand.
Cadence is a research demo and screening aid - not a diagnosis. It cannot tell you whether you have any condition. If you are ever worried about your health, please talk to a qualified doctor.
Read this out loud
Read the passage aloud; tap the mic to start and stop. A new passage appears each time - record about 3 for a reliable result, or upload audio files.
Say “pa-ta-ka”
Tap the mic and say "pa-ta-ka, pa-ta-ka" over and over, as fast and steady as you can, for about 5 seconds. This classic test measures articulation speed and rhythm.
Hold “eee”
Tap the mic and hold a steady “eee” sound (like the “ee” in “see”) at a comfortable pitch for about 4 seconds. This measures how clear and stable your voice is.
Listening to your voice…
measuring pitch, rhythm and clarity
Your voice report
What your voice told us
Your voice report card
Articulation speed (pa-ta-ka)
Sustained vowel (eee)
About Cadence
Cadence is a research prototype that screens for signs of Parkinson’s disease from a short voice recording, using interpretable acoustic biomarkers and honest, confound-aware evaluation.
An open, research-backed project. Source code: CADENCE repository.
Methodology
How a Cadence test works
You complete up to three short speech tasks, each probing a different part of speech-motor control. Everything is analysed on the spot and your audio is never stored.
The problem with “99% accurate”
Many voice-based Parkinson’s classifiers report near-perfect accuracy. We show this is often a mirage: on the Italian Parkinson’s corpus a model reaches an AUC of 1.00 even after controlling for sample rate and age - for both deep embeddings and hand-crafted features - because patients and controls were recorded under different conditions. The model detects the recording “batch signature”, not the disease.
Our approach
- Interpretable biomarkers. Language-independent phonatory and prosodic measures (jitter, shimmer, harmonics-to-noise ratio, pitch variability, articulation rate, pausing).
- Leakage-safe splits. Cross-validation grouped by speaker - no speaker appears in both train and test.
- Honest cross-database validation. Validated across three independently-collected corpora in three languages - Italian, English (MDVR-KCL) and Spanish (NeuroVoz) - training on one and testing on another, each a different language and microphone.
- Domain-adversarial adaptation. A gradient-reversal domain classifier forces channel-invariant features. On the task-matched reading test it lifts honest cross-lingual AUC from ~0.72 to ~0.80; adding target entropy regularization pushes it to ~0.84.
- A control that keeps us honest. We re-train with the source labels shuffled: any score that stays high with a useless source is exploiting the target recording's own structure, not transferring disease knowledge. This exposed a tempting ~0.91 average as confound leakage; only the ~0.84 clean-target result survives the control.
- Multi-task clinical assessment. Beyond connected reading we add the classic bedside tasks - diadochokinetic /pa-ta-ka/ (articulation rate and rhythm) and a sustained vowel /a/ (voice clarity and stability, reported as a measurement only, since the vowel does not transfer across recording channels). Results are grouped into the four speech subsystems a clinician uses: phonation, prosody, articulation, rate.
- Multiple passages + longitudinal tracking. Several short passages are pooled into one steadier estimate (variance falls with more takes), and every result can be saved on-device to watch the trend over time - as clinical monitoring does.
- Explainability. SHAP attributes each screening result to specific voice biomarkers.
- Language-independent. Cadence measures voice quality and prosody, not words, so it works across languages; the reading passage is offered in several languages. Validated so far on Italian, English and Spanish.
Result
The honest number climbed one careful step at a time - and one tempting step was rejected:
On the strict unseen-channel test, deep speech embeddings (wav2vec2 / HuBERT) collapse to ≈ 0.60, interpretable biomarkers transfer at ≈ 0.72, and domain-adversarial adaptation with entropy regularization reaches a shuffle-verified ≈ 0.84 cross-lingual AUC on connected reading speech. Two further honest checks keep us grounded: pooling several corpora generalises to a held-out corpus at ≈ 0.69-0.76 on its own, and the classic sustained-vowel /a/ biomarker does not transfer across corpora (≈ 0.34-0.46, at or below chance) - proof that within-corpus vowel "accuracy" is the microphone, not the disease. A screening from a single recording on a new device is an uncalibrated indicator, never a diagnosis - these are honest numbers across languages and microphones, not inflated single-dataset scores.
How it's built
Backend: FastAPI (Python). Frontend: a single-page, installable PWA with client-side audio capture and offline caching. Each recording is turned into eGeMAPS functionals (openSMILE), scored over overlapping windows and combined by median for robustness; inference is torch-free, so no deep-learning runtime is needed to serve. The live app ships the interpretable model trained offline on pooled Italian + MDVR-KCL recordings, while the research domain-adversarial network learns channel-invariant features (the ~0.84 cross-lingual result), validated across three corpora and three languages. Nothing you record is uploaded or stored - audio is analysed on the spot and discarded.
Research that backs this project
Parkinson's speech + cross-corpus generalization:
- Favaro et al., Towards a Corpus (and Language)-Independent Screening of Parkinson's Disease from Voice and Speech through Domain Adaptation, Bioengineering 2023 - mdpi.com/2306-5354/10/11/1316. The domain-adversarial, corpus-independent screening approach we build on.
- Favaro et al., Analyzing wav2vec embeddings in Parkinson's disease speech: cross-database classification and regression, medRxiv 2024 - medrxiv.org/.../2024.04.10.24305599. Cross-database framing and the collapse of deep embeddings across corpora.
- Towards a Generalizable Speech Marker for Parkinson's Disease, arXiv:2501.03581 (2025) - arxiv.org/abs/2501.03581.
- Interpretable Early Detection of Parkinson's Disease through Speech, arXiv:2504.17739 (2025) - arxiv.org/abs/2504.17739.
- Longitudinal voice-biomarker modelling on mPower with a domain-adaptive encoder (CORAL + gradient reversal), Frontiers in Digital Health 2026 - frontiersin.org/.../fdgth.2026.1864460.
Methods we implemented:
- Eyben et al., The Geneva Minimalistic Acoustic Parameter Set (eGeMAPS), IEEE T-AFFC 2016 - doi.org/10.1109/TAFFC.2015.2457417. Our acoustic features.
- Ganin & Lempitsky, Domain-Adversarial Training of Neural Networks, 2016 - arxiv.org/abs/1505.07818. The gradient-reversal DANN.
- Sun & Saenko, Deep CORAL: Correlation Alignment, 2016 - arxiv.org/abs/1607.01719. Covariance alignment.
- Shu et al., A DIRT-T Approach to Unsupervised Domain Adaptation (VADA / target entropy minimization), 2018 - arxiv.org/abs/1802.08735. The entropy-regularization that reached ~0.84.
Usage & license
Software
The Cadence source code is released under the MIT License © 2026 Ahammad Shawki
(ahammadshawki8). You may use, modify and share it with attribution.
Datasets
Model training and validation used the Italian Parkinson’s Voice and Speech database, the MDVR-KCL database (CC BY 4.0), and the NeuroVoz database (Castilian Spanish). No dataset audio is redistributed in this app. Please cite the original dataset authors if you build on this work.
Medical disclaimer
Cadence is a research prototype and screening aid, not a medical device. It does not diagnose any condition and must not replace professional medical advice.