Loading repository data…
Loading repository data…
vmarpadge / repository
Parkinson’s disease can be detected using speech. The phonation is the most affected in speech i.e. the sound when we pronounce the vowels. We have used the database of the speech samples containing the phonation from the affected and healthy people. Various database of the speech sample is available from JASA (Journal of Acoustic Society of America), UCI. Speech signals or the voice samples have been taken from the standard UCI voice dataset which consists of voice samples of people. The samples of healthy people are also collected for the comparative study. The Test data belongs to 56 subjects. During the collection of this dataset, 56 people are asked to say only the sustained vowels 'a' and 'o' three times respectively. Total of 336 recordings are obtained from the repository. In the training phase the pre-processing of these signals is done for feature extraction by PRAAT software. The features extracted are jitter, shimmer, NHR, HNR, mean and median pitch, number of pulses and periods, minimum and maximum period, SD, SD of period, number and degree of voice breaks. All these features differ from patient to patient depending upon the fact how much Parkinson’s disease has progressed. After extracting all the features we will do dimensionality reduction of the features using particle swarm optimization(PSO),In this optimization method it works like swarm particle and reduce the features selection to a minimum, optimization involves in achieving better result in less computation, after selection of the features, The features are used to train the SVM classifier and the model is trained.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
⚠️ DISCLAIMER: This project is for educational and research purposes only. It is NOT a medical diagnostic tool. Do not use it to make health decisions. Always consult a qualified healthcare professional for medical advice.
Detects Parkinson's disease from voice recordings using an SVM (Support Vector Machine) classifier. The system analyzes phonation features — the sounds produced when pronouncing sustained vowels — since phonation is the most affected component of speech in Parkinson's patients.
.wav) are processed using PRAAT (via parselmouth) to extract acoustic features: jitter, shimmer, NHR, HNR, pitch statistics, pulse counts, and period measurements.StandardScaler, and the scaler is saved alongside the model.├── features.py # Shared feature extraction module (PRAAT parsing + validation)
├── train.py # Train the SVM model and save it with the scaler
├── predict.py # CLI prediction from a .wav file
├── gui.py # Tkinter GUI for file selection and prediction
├── final2.csv # Training dataset (1040 samples, 29 columns)
├── requirements.txt # Pinned Python dependencies
├── LICENSE # MIT License
└── README.md
# Python 3.10+ required
pip install -r requirements.txt
python train.py
Example output:
Cross-validation accuracy: 0.6670 (+/- 0.0567)
Confusion Matrix:
[[74 33]
[26 75]]
precision recall f1-score support
Healthy 0.74 0.69 0.71 107
Parkinsons 0.69 0.74 0.72 101
accuracy 0.72 208
Model and scaler saved to svmclassifier.pkl
python predict.py path/to/voice_recording.wav
Healthy — No Parkinson's Detected
python gui.py
Use File → Open to select a .wav file containing a sustained vowel ('a' or 'o'), then click Detect.
If you use this dataset, please cite:
Sakar, B.E., Isenkul, M.E., Sakar, C.O., Sertbas, A., Gurgen, F., Delil, S., Apaydin, H., Kursun, O. (2013). Collection and Analysis of a Parkinson Speech Dataset with Multiple Types of Sound Recordings. IEEE Journal of Biomedical and Health Informatics, 17(4), 828-834.
The model achieves ~72% accuracy on final2.csv using Gradient Boosting with all 26 acoustic features. This is an improvement over the original SVM with 10 PSO-selected features (~64%), achieved by using all available PRAAT features (including voicing break metrics) and hyperparameter tuning via GridSearchCV.
extract_features(), train(), and predict() are welcome.pickle, which can execute arbitrary code. Only load .pkl files you generated yourself with train.py. Never load untrusted pickle files.This project is licensed under the MIT License — see LICENSE for details.
Contributions are welcome. See CONTRIBUTING.md for guidelines.