This project is a machine learning-based speaker identification system that identifies a speaker from an audio recording.
The system is trained on voice samples from 15 university students. Due to privacy constraints, the dataset is not included in this repository.
The original audio dataset is not publicly available due to privacy and ethical considerations.
This repository contains:
- Source code
- Data preprocessing pipeline
- Feature extraction methods
- Model training and prediction scripts
To classify speakers based on voice characteristics extracted from audio signals using machine learning techniques.
Audio Input → Data Augmentation → Preprocessing → Feature Extraction (MFCC) → Model Training (SVM) → Prediction
- 15 speakers
- 3 recordings per speaker
- Augmented using signal processing techniques
- Pitch shifting
- Time stretching
- Amplitude scaling
- Noise reduction using pre-emphasis filtering
- Fixed-length trimming/padding (3 seconds)
- Signal normalization
- Method: MFCC (Mel-Frequency Cepstral Coefficients)
- Features: 6 coefficients
- Aggregation: Mean over time frames
- Library: librosa
- Algorithm: Support Vector Machine (SVM)
- Kernel: Linear
- Library: scikit-learn
Model Accuracy: 96.77%
The model shows strong performance in distinguishing between 15 speakers.
pip install -r requirements.txt
python src/train.py
python src/predict.py path/to/audio.wav
python main.py
speaker-identification-project/
src/
- augmentation.py
- preprocessing.py
- feature_extraction.py
- train.py
- predict.py
notebooks/
- data_augmentation_demo.ipynb
- model_training.ipynb
models/
- speaker_model.pkl (optional / not included due to privacy)
requirements.txt README.md .gitignore main.py
- Fateme Khosravi
- Fateme Hajizadeh
- Ali Khosrozadeh