Skip to main content

The machine learning package examines audio files submitted from a user

Project description

Python CI CodeQL

speaker-verification

This project aims to address the issues concerning contract cheating within online learning management platforms as educational institutions have struggled to monitor and evaluate online activity. The Speaker Verification project aims to utilize machine learning technologies to evaluate audio files submitted from a user and obtain a confidence score of how likely it is that the voice in the recording is the user in question.

Table of Contents

Usage

The speaker_verification tool has a enroll and validate workflow in order to perform speaker verification for a given user.

Enroll stage

The enroll workflow requires two parameters, one being a unique numeric id that must be 9 characters long and a path to a wav or flac file of the users voice. Below is the required syntax and format for the this stage.

python -m speaker_verification enroll --id <ID_NUMBER> --audio-path <PATH/TO/FILE>

Validate stage

The validate workflow retrives a user enrollment based on the given id parameter given and then uses the --audio-path input to accept an audio file as speaker input to verify against the given user enrollment.

python -m speaker_verification validate --id <ID_NUMBER> --audio-path <PATH/TO/FILE>

Installation

The speak-verification package requires Python 3.8.*

Install via PyPI

The package speaker-verification is hosted on PyPI

pip install speaker-verification

Install from Github

This project has both a requirements.txt and environment.yml file's, it is up to your discretion of what environment manager you should like to use.

The repository relies on the speaker_verification python module being on the PYTHONPATH which you should set before running.

export PYTHONPATH=${PYTHONPATH}:/path/to/speech_verification_public/

Installing miniconda

Miniconda is a minimal install for conda which hosts packages from PyPi, zlib and other packages outside of the python language.

Download the relevent miniconda installation here for your specified OS.

NOTE: If you are developing on windows then Anaconda might be a better option.

You should be able to install the rest with the conda.io instructions.

Conda environment

Install the python dependencies in a conda virtual environment called deep-speaker by using the environment.ymlfile to point to the required dependencies.

conda env create -f environment.yml
conda activate deep-speaker

Virtualenv environment

Like miniconda, virtualenv is an virual environment manager for python which uses PyPi (Python Package Index) packages distributed by pip.

pip install virtualenv
# create a new environment, usually in your home dir
python37 -m virtualenv ./env_name
# activate environment
source ./env_name/bin/activate
# install environment dependencies by pointing to requirements.txt file
pip install -r requrements.txt

Testing

We use pytest for managing the exection of our tests the project. Below is the current usage for running the tests.

# the below command is relient on the user's working dir being the root of the project.
pytest speaker_verification/

Contributors

This repository makes use of open source components initially developed by @philipperemy in the "Unofficial" deep-speaker project based on the research by Baidu, Inc. See the deep-speaker project here. See the research paper here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

speaker-verification-0.1.2.tar.gz (88.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

speaker_verification-0.1.2-py3-none-any.whl (88.9 MB view details)

Uploaded Python 3

File details

Details for the file speaker-verification-0.1.2.tar.gz.

File metadata

  • Download URL: speaker-verification-0.1.2.tar.gz
  • Upload date:
  • Size: 88.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for speaker-verification-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6244014366ddef51474c2d3eeab68023b4d9fa42badba5d22b17b4744bd9e64c
MD5 f71b88090a073dd4eff1b77878bb5ebb
BLAKE2b-256 023fdcffff68c2643ef457f044e80b6c407e86e4f3151cea14cf3ceb56eef94c

See more details on using hashes here.

File details

Details for the file speaker_verification-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: speaker_verification-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 88.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for speaker_verification-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 695efe11d480326c773690d93f22ebcc767e1f677b28019f5aa8528ae19f00c4
MD5 985c06a2317ac0466098038a092fde4d
BLAKE2b-256 2be40a4ae47413cab0807b32caaaada913ee3896383482bb72805dd1ab353055

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page