The problem
Parkinson's disease gradually weakens the fine motor control that steadies the voice, so a person holding a single vowel note produces tiny, involuntary wobbles in pitch and loudness long before larger movement symptoms dominate daily life. Those wobbles are hard to hear by ear and easy to dismiss, which leaves a useful, non-invasive signal — the voice itself — largely unused in student-level screening research. This project answers that gap with AI-Based Parkinson's Disease Detection from Voice Recordings: a software system that takes a short sustained-vowel recording, extracts acoustic features such as jitter, shimmer, fundamental frequency and harmonics-to-noise ratio, and feeds them to a trained classifier that returns a screening score with the features that drove it. The output is a research prototype for study and demonstration, explicitly not a diagnostic device, and every result is reported on a held-out, subject-wise test split so the student can defend exactly what the model can and cannot claim.
A short sustained vowel recording loaded into the demo for analysis.
Follow the working sequence
How it works
A voice recording becomes a screening score in four honest stages, and the demo makes each stage visible instead of hiding it. First, a short sustained-vowel recording is loaded — the same /a/ phonation task the dataset uses — and its waveform is displayed so the input is inspectable. Next, acoustic features are extracted: pitch statistics, jitter and shimmer measures, noise ratios and nonlinear complexity measures, 22 features in total. Then the trained classifier weighs those features and returns a screening score on a 0–100 scale with the features that contributed most. Finally, the score is read against its band and its limits: a research signal about voice patterns in the training data, reported with held-out metrics, and never presented as a medical finding about any individual. Each stage uses only the same 22 features and the same scaling fitted on training data, so the demo result and the notebook result stay directly comparable.
- A sustained-vowel (/a/) recording of approximately 3–5 seconds (design target) is loaded into the demo, and its waveform and duration are displayed.
- The recording is pre-processed (resampling to 44.1 kHz where needed, silence trimming) and the 22 acoustic features are extracted: pitch, jitter, shimmer, noise and nonlinear families.
- Features are scaled with the scaler fitted on training data only, so no test information leaks into preprocessing.
- The dataset is split subject-wise: all recordings of one person go to exactly one of the training, validation or test sets, preventing the model from recognising a voice it has already seen.
- The classifier (Random Forest by default, with Logistic Regression and SVM compared) is trained on the training split and tuned on the validation split.
- The held-out test split is evaluated once: accuracy, balanced accuracy, precision, recall, F1-score and ROC-AUC are recorded for the report, and results are reported as buyer-measured on that split.
- In the web demo, a new recording passes through the same extraction and scaling steps, and the app shows the screening score, its band reading and the top contributing features.
Tech stack:
- Python 3, scikit-learn, pandas, NumPy
- Jupyter Notebook (training & evaluation)
- librosa / Parselmouth-style feature extraction (documented in notebook)
- HTML5 + JavaScript (VoiceScreen Lab demo)
- UCI Parkinson's voice dataset (Little et al.)
- Matplotlib (evaluation plots)
Dataset & model details
- Dataset: UCI Parkinson's voice dataset (Little, McSharry, Hunter and Ramig; UCI Machine Learning Repository) — 195 voice recordings from 31 people (23 with Parkinson's disease, 8 healthy controls), 22 acoustic features, 2 classes: 147 Parkinson's-group recordings and 48 healthy-control recordings.
- Task: Binary classification; input = 22 acoustic features from one sustained-vowel recording, output = screening score on a 0–100 scale with a Parkinson's-group vs healthy-control-group pattern reading.
- Model: Random Forest classifier as the default (with Logistic Regression and SVM compared in the notebook); input features are scaled with a training-only scaler, and the split is subject-wise so no person appears in both training and test sets.
- Metrics: Accuracy, balanced accuracy, precision, recall, F1-score and ROC-AUC, plus a confusion matrix — all defined in the notebook and reported as buyer-measured on the held-out, subject-wise test split. No accuracy figure is claimed in advance.
| Parameter | Value |
|---|---|
| Dataset size | 195 recordings (UCI Parkinson's voice dataset) |
| People in dataset | 31 people (23 Parkinson's-group, 8 healthy-control) |
| Features per recording | 22 acoustic features |
| Classes | 2 classes (147 Parkinson's-group recordings, 48 healthy-control recordings) |
| Recording task | Sustained vowel /a/ phonation |
| Demo audio handling | Resampling to 44.1 kHz where needed (design target) |
| Screening score range | 0–100 scale (design target) |
| Demo sample duration | Approximately 3–5 seconds per sample (design target) |
| Training time | Approximately 5–15 minutes on a laptop CPU (expected) |
| Demo | Single-file web app, runs offline after download |
Project features
The strongest parts of this build are the recorded-sample workflow, the acoustic feature pipeline, the explainable screening output and the evaluation discipline. A user loads a sustained-vowel recording, watches its waveform and extracted features, and receives a screening score whose top contributing features are named in plain language rather than hidden inside a black box. The training notebook documents the dataset, the subject-wise split and every metric, so the viva discussion can focus on what the evidence actually supports. Together these capabilities turn a sensitive medical topic into a defensible student project: honest about its limits, precise about its method, and demonstrable live in front of reviewers. Implemented features are marked as shipped, the group comparison view is marked optional, and live microphone capture is marked future scope, so reviewers can see exactly what is delivered versus what is planned.
- [Recorded-sample workflow] [Implemented] Load a sustained-vowel recording, view its waveform and duration, and run the full analysis in one action — the same workflow the demo shows for samples of approximately 4 seconds (design target).
- [Acoustic feature extraction] [Implemented] Extracts the dataset's 22 acoustic features (pitch, jitter, shimmer, noise and nonlinear measures) from each recording, with jitter, shimmer, fundamental frequency and harmonics-to-noise ratio shown as readable per-feature values.
- [Explainable screening score] [Implemented] Returns a screening score on a 0–100 scale with its top contributing features named, plus a plain-language band reading — every output is labelled as a research signal, never as a diagnosis.
- [Trained classifier] [Implemented] A scikit-learn classifier (Random Forest as the default, with Logistic Regression and SVM compared in the notebook) trained on the UCI Parkinson's voice dataset and served by the web demo.
- [Subject-wise evaluation] [Implemented] Training and test splits are made by person, not by recording, so no individual's recordings appear on both sides; accuracy, balanced accuracy, precision, recall, F1-score and ROC-AUC are reported on the held-out split.
- [Feature explorer] [Implemented] A reference view grouping all 22 features by pitch, jitter, shimmer, noise and nonlinear families, explaining what each family measures and why steadiness measures carry the most signal.
- [Group comparison view] [Optional] A side-by-side view of healthy-control and Parkinson's-group feature patterns from the demo's training split, included to teach class separation; values are labelled as demo-split values, not clinical norms.
- [Live microphone capture] [Future scope] Recording directly from the browser microphone is designed but not shipped, since controlled recordings and labelled research data keep the evaluation honest; it is listed as future scope in the report.
What is included
- Complete training & evaluation Jupyter notebook (subject-wise split, 3 compared classifiers, full metrics)
- Trained classifier with the training-only scaler and feature-extraction code
- VoiceScreen Lab web demo (sample workflow, feature explorer, group comparison view)
- Evaluation plots: confusion matrix, ROC curve and feature-importance chart
- Project report PDF (background, voice-science rationale, methodology, results, limitations)
- PPT presentation for final review
- Viva Q&A preparation document (jitter/shimmer, subject-wise splitting, class imbalance, medical limits)
Limitations & prerequisites
- Educational research prototype only — it is not a diagnostic device, not for diagnosis or clinical use, and must never be presented as medical advice.
- The dataset holds only 31 people, so results generalise weakly; the report states this small-sample limit plainly and the demo must not be tested on real patients.
- Class imbalance is real (147 Parkinson's-group recordings vs 48 healthy-control recordings), which is why balanced accuracy is reported alongside plain accuracy.
- The model reads sustained-vowel phonations only — conversational speech, other vowels, noisy rooms and different microphones are out of scope and will shift results.
- No accuracy, precision or ROC-AUC figure is promised before the buyer's own training run; every metric in the report is measured on the held-out, subject-wise split.
- Voice patterns vary with age, sex, language and recording conditions, none of which this dataset controls for; cross-group claims are out of scope.
Frequently Asked Questions
Is this project suitable for a final-year project?
Yes, for AI & Machine Learning and Computer Science programs, because it combines a real labelled dataset, feature engineering with a clear physiological rationale, classifier comparison and disciplined evaluation — all demonstrable live in the demo and defensible in a viva. The report and PPT extend that story with methodology, results and limitations written for reviewers.
Which dataset is used, and how big is it?
The UCI Parkinson's voice dataset: 195 sustained-vowel recordings from 31 people — 23 with Parkinson's disease and 8 healthy controls — with 22 acoustic features per recording and 2 classes. It is small, which is exactly why the project uses subject-wise splitting and reports balanced accuracy alongside plain accuracy. The notebook documents the source and the class counts so every figure is traceable.
Does this system diagnose Parkinson's disease?
No, and that limit is stated on every output. It is an educational screening prototype that scores how closely a voice recording's acoustic pattern resembles patterns in labelled research data. Only a clinician's assessment can diagnose Parkinson's disease, and the system must never be used for clinical decisions. The demo header and every score panel carry that warning.
What do jitter and shimmer actually measure?
Jitter measures cycle-to-cycle variation in fundamental frequency — how much the pitch wobbles between successive vocal-fold vibrations — while shimmer measures the same wobble in amplitude. A healthy vocal fold vibrates almost periodically during a held vowel, so rising jitter and shimmer signal weakening steadiness, which is why these features carry the most weight. The feature explorer groups all 22 measures so this reasoning is visible, not asserted.
Why is the train-test split done by person, not by recording?
Because one person contributes several recordings, a random recording-wise split would put the same voice on both sides and leak identity information into the test score. A subject-wise split keeps every person's recordings in exactly one set, so the held-out score measures generalisation to new voices, not recognition of familiar ones. This is the single most important evaluation decision in the whole project.
Can I record my own voice in the demo?
The shipped demo analyses provided sample recordings, and live microphone capture is listed as future scope rather than shipped. Controlled, labelled recordings keep the evaluation honest; adding live capture would need consent handling, recording-quality checks and a clear non-diagnostic warning before any use. The report lists these requirements explicitly so the extension is a real plan, not a vague promise.
Components & software requirements
- Python 3, scikit-learn, pandas, NumPy
- Jupyter Notebook (training & evaluation)
- librosa / Parselmouth-style feature extraction (documented in notebook)
- HTML5 + JavaScript (VoiceScreen Lab demo)
- UCI Parkinson's voice dataset (Little et al.)
- Matplotlib (evaluation plots)
Dataset & model details
- Dataset: UCI Parkinson's voice dataset (Little, McSharry, Hunter and Ramig; UCI Machine Learning Repository) — 195 voice recordings from 31 people (23 with Parkinson's disease, 8 healthy controls), 22 acoustic features, 2 classes: 147 Parkinson's-group recordings and 48 healthy-control recordings.
- Task: Binary classification; input = 22 acoustic features from one sustained-vowel recording, output = screening score on a 0–100 scale with a Parkinson's-group vs healthy-control-group pattern reading.
- Model: Random Forest classifier as the default (with Logistic Regression and SVM compared in the notebook); input features are scaled with a training-only scaler, and the split is subject-wise so no person appears in both training and test sets.
- Metrics: Accuracy, balanced accuracy, precision, recall, F1-score and ROC-AUC, plus a confusion matrix — all defined in the notebook and reported as buyer-measured on the held-out, subject-wise test split. No accuracy figure is claimed in advance.
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.