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:
data
folder is folder to store the dataset.features
folder is for feature extraction. Those features are mainly used in PLDA realization.neural
folder is for neural network-based Speaker verification system realization.plda
folder is for realization of the PLDA algorithm and its enhancements.utils
folder 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
data
folder in the project.
- Run all cells in
./utils/download_data.ipynb