tahamajs/ML / Files /CAs /Project /README.md
tahamajs's picture
|
download
raw
4.57 kB
# Final Project: Voice Authentication and Gender Classification using Machine Learning
## Overview
This project focuses on utilizing machine learning algorithms to perform **voice authentication** and **gender classification** using audio features. The aim is to design a model capable of distinguishing between male and female speakers and authenticating the identity of the speaker using their voice, based on various audio features.
## Objectives
1. **Voice Authentication** : The model will authenticate a speaker's identity based on their voice using closed-set and open-set authentication techniques.
2. **Gender Classification** : The model will classify the gender of the speaker from audio features.
3. **Feature Extraction** : Extract relevant features from audio signals, such as **Mel-frequency cepstral coefficients (MFCC)** , **spectral centroid** , **log Mel spectrogram** , and more.
4. **Data Preprocessing** : Implement noise reduction, normalization, and windowing techniques to enhance the quality of the input data.
## Project Structure
The project is divided into several phases:
### Phase 1: Introduction to Audio Signal Processing
* **Data Preprocessing** : Learn and implement the basic signal processing techniques, such as:
* **Noise reduction** (e.g., using spectral subtraction or bandpass filtering).
* **Normalization** and **windowing** techniques.
* **Feature Extraction** : Apply various algorithms to extract features from audio signals. Focus will be on:
* **MFCC (Mel Frequency Cepstral Coefficients)**
* **Spectral Centroid**
* **Log Mel Spectrogram**
* **Zero-Crossing Rate**
* **Chroma Features**
* **Spectral Contrast**
### Phase 2: Practical Implementation with Dataset
* **Dataset** : The dataset consists of audio files in MP3 format, named with the pattern `HWx_Qy_Student-ID_gender.mp3`.
* **Tasks** :
* **Gender Classification** : Use machine learning models to classify the gender of the speaker.
* **Voice Authentication** : Use models to authenticate the voice based on prior recordings from the same individual.
* **Steps** :
1. **Data Loading** : Load the raw audio files.
2. **Data Preprocessing** : Clean and prepare the data by removing noise and resampling.
3. **Feature Extraction** : Apply feature extraction techniques.
4. **Model Training** : Train models using extracted features for both tasks (gender classification and voice authentication).
5. **Model Evaluation** : Evaluate the models using appropriate metrics (e.g., accuracy, precision, recall, F1-score, confusion matrix).
### Phase 3: Report Writing and Analysis
* **Initial Report** : Prepare a group report covering:
* Voice authentication methods (closed-set and open-set).
* Data preprocessing challenges and solutions.
* Comparison of feature extraction techniques.
* **Final Report** : The final report will include:
* A detailed explanation of the models used, the results, and the challenges faced.
* A comparative analysis of different classification techniques such as Logistic Regression, KNN, SVM, MLP, and XGBoost.
* Evaluation using performance metrics and visualizations (e.g., ROC Curve, confusion matrix).
* **Clustering Analysis** : Apply clustering algorithms to identify patterns within the audio data and visualize the results.
### Phase 4: Grading Criteria
The grading will be based on the following:
* **Initial Report (20%)**
* **Preprocessing and Feature Extraction (30%)**
* **Classification (30%)**
* **Clustering (20%)**
### Phase 5: Final Considerations
* **Plagiarism Policy** : Any form of plagiarism or copying from other students will result in severe penalties.
* **Collaboration** : The project can be done individually or in a group of up to 4 people.
## Required Libraries and Tools
* **Python** : Programming language used for model development.
* **Librosa** : Library for audio processing.
* **Scikit-learn** : For machine learning models.
* **TensorFlow / Keras** : For deep learning models (if applicable).
* **Matplotlib** : For visualization.
## How to Run the Project
1. **Clone the Repository** :
```bash
git clone https://github.com/your-repository/voice-authentication-project.git
```
1. **Install Dependencies** :
```bash
pip install -r requirements.txt
```
1. **Data Preparation** : Download the dataset from [Google Drive](https://drive.google.com/drive/folders/1pq_jGqdBda_QjNnK2yAzD4N2grbPF8Rs?usp=sharing) and place it in the appropriate folder.
2. **Run the Code** : Execute the scripts for data preprocessing, feature extraction, and model training.
---

Xet Storage Details

Size:
4.57 kB
·
Xet hash:
544359e53927417e427e6af3baa67b3a310259e08af7f3bf52b6c943dbc3b17c

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.