
Auscult
Heart & Lung Sound Classification
Auscult classifies heart and lung sounds from 15-second digital stethoscope recordings of a clinical training manikin. It transforms the 535-recording HLS-CMDS dataset into fixed-length feature tables using MFCCs, deltas, RMS, zero-crossing rate, and spectral features, then evaluates heart-only, lung-only, and mixed cardiopulmonary tasks.
For this team project, I built the shared training framework and implemented the decision tree, random forest, logistic regression, and linear SVM pipelines. I also expanded audio feature extraction, added batch experiment tooling, and tightened evaluation with grouped cross-validation and file-level aggregation. The final comparison covered audio-only and metadata-assisted variants; the strongest lung-only model reached a 0.994 macro F1 score. When heart and lung sounds were mixed in one recording, the best macro F1 dropped to 0.42 for heart labels and 0.73 for lung labels.
Auscult classifies heart and lung sounds from 15-second digital stethoscope recordings of a clinical training manikin. It transforms the 535-recording HLS-CMDS dataset into fixed-length feature tables using MFCCs, deltas, RMS, zero-crossing rate, and spectral features, then evaluates heart-only, lung-only, and mixed cardiopulmonary tasks.
For this team project, I built the shared training framework and implemented the decision tree, random forest, logistic regression, and linear SVM pipelines. I also expanded audio feature extraction, added batch experiment tooling, and tightened evaluation with grouped cross-validation and file-level aggregation. The final comparison covered audio-only and metadata-assisted variants; the strongest lung-only model reached a 0.994 macro F1 score. When heart and lung sounds were mixed in one recording, the best macro F1 dropped to 0.42 for heart labels and 0.73 for lung labels.
Duration
March 2026 - May 2026
Tags
Python
scikit-learn
librosa
pandas
NumPy
Matplotlib
Machine Learning


