{"id":13668538,"url":"https://github.com/HarryVolek/PyTorch_Speaker_Verification","last_synced_at":"2025-04-26T22:31:30.827Z","repository":{"id":33441138,"uuid":"149682330","full_name":"HarryVolek/PyTorch_Speaker_Verification","owner":"HarryVolek","description":"PyTorch implementation of \"Generalized End-to-End Loss for Speaker Verification\" by Wan, Li et al. ","archived":false,"fork":false,"pushed_at":"2022-01-20T11:54:08.000Z","size":56,"stargazers_count":582,"open_issues_count":31,"forks_count":165,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-04T19:11:53.925Z","etag":null,"topics":["pytorch","speaker-identification","speaker-verification"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HarryVolek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-20T23:25:08.000Z","updated_at":"2025-02-20T08:21:01.000Z","dependencies_parsed_at":"2022-08-07T21:16:46.088Z","dependency_job_id":null,"html_url":"https://github.com/HarryVolek/PyTorch_Speaker_Verification","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryVolek%2FPyTorch_Speaker_Verification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryVolek%2FPyTorch_Speaker_Verification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryVolek%2FPyTorch_Speaker_Verification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryVolek%2FPyTorch_Speaker_Verification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HarryVolek","download_url":"https://codeload.github.com/HarryVolek/PyTorch_Speaker_Verification/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251063506,"owners_count":21530834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pytorch","speaker-identification","speaker-verification"],"created_at":"2024-08-02T08:00:40.343Z","updated_at":"2025-04-26T22:31:30.465Z","avatar_url":"https://github.com/HarryVolek.png","language":"Python","funding_links":[],"categories":["Software","Code/Tools/Frameworks/Libraries","Python"],"sub_categories":["Speaker embedding"],"readme":"# PyTorch_Speaker_Verification\n\nPyTorch implementation of speech embedding net and loss described here: https://arxiv.org/pdf/1710.10467.pdf.\n\nAlso contains code to create embeddings compatible as input for the speaker diarization model found at https://github.com/google/uis-rnn\n\n![training loss](https://github.com/HarryVolek/PyTorch_Speaker_Verification/blob/master/Results/Loss.png)\n\nThe TIMIT speech corpus was used to train the model, found here: https://catalog.ldc.upenn.edu/LDC93S1,\nor here, https://github.com/philipperemy/timit\n\n# Dependencies\n\n* PyTorch 0.4.1\n* python 3.5+\n* numpy 1.15.4\n* librosa 0.6.1\n\nThe python WebRTC VAD found at https://github.com/wiseman/py-webrtcvad is required to create run dvector_create.py, but not to train the neural network.\n\n# Preprocessing\n\nChange the following config.yaml key to a regex containing all .WAV files in your downloaded TIMIT dataset. The TIMIT .WAV files must be converted to the standard format (RIFF) for the dvector_create.py script, but not for training the neural network.\n```yaml\nunprocessed_data: './TIMIT/*/*/*/*.wav'\n```\nRun the preprocessing script:\n```\n./data_preprocess.py \n```\nTwo folders will be created, train_tisv and test_tisv, containing .npy files containing numpy ndarrays of speaker utterances with a 90%/10% training/testing split.\n\n# Training\n\nTo train the speaker verification model, run:\n```\n./train_speech_embedder.py \n```\nwith the following config.yaml key set to true:\n```yaml\ntraining: !!bool \"true\"\n```\nfor testing, set the key value to:\n```yaml\ntraining: !!bool \"false\"\n```\nThe log file and checkpoint save locations are controlled by the following values:\n```yaml\nlog_file: './speech_id_checkpoint/Stats'\ncheckpoint_dir: './speech_id_checkpoint'\n```\nOnly TI-SV is implemented.\n\n# Performance\n\n```\nEER across 10 epochs: 0.0377\n```\n\n# D vector embedding creation\n\nAfter training and testing the model, run dvector_create.py to create the numpy files train_sequence.npy, train_cluster_ids.npy, test_sequence.npy, and test_cluster_ids.npy. \n\nThese files can be loaded and used to train the uis-rnn model found at https://github.com/google/uis-rnn\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHarryVolek%2FPyTorch_Speaker_Verification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHarryVolek%2FPyTorch_Speaker_Verification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHarryVolek%2FPyTorch_Speaker_Verification/lists"}