NVIDIA
NVIDIA
SpeakerVerification Speakernet
Model
NVIDIA
NVIDIA
SpeakerVerification Speakernet

SpeakertNet-M model trained with NeMo for speaker verification and speaker embeddings

Model Overview

Speaker Identification is a broad research area that solves two major tasks: speaker identification (who is speaking?) and speaker verification (is the speaker who they claim to be?). In this work, we focus on far-field, text-independent speaker recognition when the identity of the speaker is based on how the speech is spoken, not necessarily on what is being said. Typically such SR systems operate on unconstrained speech utterances, which are converted into vectors of fixed length, called speaker embeddings. Speaker embeddings are also used in automatic speech recognition (ASR) and speech synthesis.

This model is trained end-to-end using angular softmax loss for speaker verification purposes and for extracting speaker embeddings

Model Architecture

SpeakerNet models consists of 1D Depth-wise separable convolutional layers. These encoded information is then pooled by statistical means based on mean and variance as described in paper [1]

Training

These models were trained on a composite dataset comprising of several thousand hours of speech, compiled from various publicly available sources. The NeMo toolkit [2] was used for training this model over few hundred epochs on multiple GPUs.

Datasets

The following datasets are used for training

Performance

This speakernet-M model which is based on Quartznet Encoder structure with 5M parameters achieves 1.93% EER on voxceleb clean test trial file

How to use this model

For training and extracting embeddings detailed step by step, procedure has provided in Speaker Verification notebook. and Embeddings extraction script

Embedding Extraction

For a single audio file, one can also extract embeddings inline using

import nemo.collections.asr as nemo_asr
speaker_model = nemo_asr.models.EncDecSpeakerLabelModel.from_pretrained(model_name="speakerverification_speakernet")
embs = speaker_model.get_embedding('audio_path')

Speaker Verification

Speaker Verification is a task of verifying if two utterances are from the same speaker or not. We provide a helper function to verify the audio files and return True if two provided audio files are from the same speaker, False otherwise. The audio files should be 16KHz mono channel wav files.

import nemo.collections.asr as nemo_asr
speaker_model = nemo_asr.models.EncDecSpeakerLabelModel.from_pretrained(model_name='titanet_large')
decision = speaker_model.verify_speakers('path/to/one/audio_file','path/to/other/audio_file')

Input

This model accepts 16000 KHz Mono-channel Audio (wav files) as input.

Output

This model provides embeddings of size 256 from a speaker for a given audio sample.

Limitations

This model is trained on non-telephonic speech from voxceleb datasets, hence may not work as well for telephonic speech. If it happens consider finetuning for that speech domain.

References

[1] SpeakerNet: 1D Depth-wise Separable Convolutional Network for Text-Independent Speaker Recognition and Verification
[2] NVIDIA NeMo Toolkit

Licence

License to use this model is covered by the license of the NeMo Toolkit [2]. By downloading the public and release version of the model, you accept the terms and conditions of this license.

Publisher
NVIDIA
NVIDIA
Latest Version1.6.0
UpdatedApril 4, 2023 UTC
Compressed Size20.84 MB

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.