This repository contains the final project for the Speech Segmentation course. The goal is to detect and segment speech (foreground) versus background noise from audio files using classification and post-processing techniques.
- Python 3.8+
- Scikit-learn
- Librosa
- Numpy
- Matplotlib
- Pandas
- PyTorch
- SciPy
- MFCC feature extraction
- MLP-based classifier
- Ridge regression (Least Squares) classifier
- Frame-level evaluation and classification
- CSV export of segment classifications
- JSON ground truth comparison
- Waveform & prediction visualization
speech_segmentation_project/
├── data/
| ├── features_dataset.npz
│ ├── train/
│ │ ├── speech/
│ │ └── noise/
│ └── test/
│ └── file1.wav
├── src/
│ ├── extract_features.py
│ └── predict_and_generate_csv.py
├── outputs/
│ └── predictions.csv
├── main.py
├── LICENCE.txt
├── requirements.txt
└── README.md
Install the required libraries:
pip install -r requirements.txtThen run:
python main.pyoutputs/predictions.csv
This README was last updated on [5/16/2025].