by Andrii Shevtsov, Artur Shevtsov and Maksym Palamariuk
This is a realization of speaker verification system using pure numpy (PLDA technique) and its comparison with more advanced methods, such as Siamese Convolutional Neural Networks.
Folder structure is as follows:
datafolder is folder to store the dataset.featuresfolder is for feature extraction. Those features are mainly used in PLDA realization.neuralfolder is for neural network-based Speaker verification system realization.pldafolder is for realization of the PLDA algorithm and its enhancements.utilsfolder is for other project-related stuff that is general or inconvinient to put into previous folders.
We are using Python's narive virtual environments along with pip package manager and requirements.txt files.
To run the project, create a virtual environment via python<version> -m venv .venv.
Then, activate the environment:
- On Linux/Mac:
source .venv/bin/activate. - On Windows:
.venv/Scripts/activate.bat.
And install requirements.txt:
pip install -r requirements.txt
If you want to use neural net, you need also to install neural/requirements.txt.
To obtain the dataset, use the following steps:
- Create a
datafolder in the project.
- Run all cells in
./utils/download_data.ipynb