diff --git a/configs/parameters.yaml b/configs/parameters.yaml index 0429f47e8edbb3ed52cd496596ef51e85918f2b2..8ad5eac3376da65168a837f4b183f0cfdeeac390 100644 --- a/configs/parameters.yaml +++ b/configs/parameters.yaml @@ -8,4 +8,6 @@ batch_size: 16 learning_rate: 0.001 # Types of embeddings supported: 'ecapa_tdnn' or 'x-vector' -embedding_type: ecapa_tdnn +# ecapa_tdnn: dim = 192 +# x-vector: dim = 512 +embedding_type: x-vector diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_1_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_1_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..a96714aa1c45530685bbf89977368ab22ba3ace1 Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_1_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_2_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_2_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..22fba9c358048b261b76eed5bfa4b5c7c172952f Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_2_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_3_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_3_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..7be158338a793b94f855903c0307a2e1b2db2bb2 Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_3_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_4_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_4_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..77200e30cea3a2fc5f04b9d9d09ec523aed288a8 Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_4_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_5_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_5_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..1f3c8edfae1ee3a8ee9c5184446030381c799b7e Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_5_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_6_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_6_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..5fa0336ac0c2fd06f899301b0d2a9a0fd9896161 Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_6_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_7_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_7_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..e79d28b8c2b87ae8985c856dca773c42fad63283 Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_7_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_8_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_8_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..64e8679d06acfa1cdd6bedb8ff00d525078d7cd4 Binary files /dev/null and b/data/embeddings/ecapa/ANC150_LEC_seg_8_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/file1_ecapa_emb.pickle b/data/embeddings/ecapa/file1_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..024ee4c603824434fca668817d90d07809e6a2af Binary files /dev/null and b/data/embeddings/ecapa/file1_ecapa_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_1_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_1_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..7c6181cd68d492de5418b85484b8eded55483eae Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_1_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_2_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_2_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..709fa01af7be5ca31c4b3c408a5b195b382c280e Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_2_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_3_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_3_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..3b8a8145ff546830a4585e6397afdc16536c89e4 Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_3_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_4_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_4_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..28a19ec2fe0a8af6b743749ef590d6bb7006accb Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_4_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_5_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_5_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..6ff88554d38a5a3740d756637a672c59a9e04095 Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_5_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_6_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_6_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..2220c22db2a135a39df0da9bb6415bc45e9fd511 Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_6_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_7_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_7_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..fa2f8897b6bf8b88f2e85f6a5d4c2e1df5d88451 Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_7_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_8_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_8_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..5a3a60c11869b98e5a297c2dc643dff99ebaf75e Binary files /dev/null and b/data/embeddings/xvec/ANC150_LEC_seg_8_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/file1_xvec_emb.pickle b/data/embeddings/xvec/file1_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..d457da899e89d33d5f1ee1f40036f2565af8d3c6 Binary files /dev/null and b/data/embeddings/xvec/file1_xvec_emb.pickle differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_1_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_1_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..549bb8e82a557d03334cbea4ee4aad6e797e5e6f Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_1_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_1_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_1_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..511ba80de864fb5db6e77c018bcc0c607fb04ee2 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_1_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_1_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_1_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..a501f3e37340ca9efdd820634978b0942c2fc882 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_1_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_2_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_2_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..d53dc4ad676a6e583d2c400d5f74a47881b8ade6 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_2_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_2_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_2_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..bbd389667d7a59c33f3c3d1a163c14b1584385dc Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_2_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_2_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_2_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..50255744248c8b64e8d4085ea53ae9fca14ccfe7 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_2_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_3_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_3_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..f7a665cb7138e6dbc5cbe4b179293ab13e4da401 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_3_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_3_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_3_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..45513ce8b75c4e1ae4469de3583edfc16183c7a3 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_3_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_3_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_3_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..a0c968067a8193fe92ca8b3b14013c63ecee2d13 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_3_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_4_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_4_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..9264aee5c93e0ae1fd55b5fe477c4a58b374faaf Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_4_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_4_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_4_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..e75d272b991461489a37a9af88222ff513bb225e Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_4_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_4_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_4_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..92e63e4510c4ba9db8e3fb69c69fe30cd127308d Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_4_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_5_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_5_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..20a9ecd832f4463e8832aaf142571be730bdb8c9 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_5_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_5_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_5_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..9356c622ca15d07342c90e2e65903951f08b9161 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_5_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_5_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_5_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..f4ee90a10b44b6c472bb6774aeb16211911e95f1 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_5_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_6_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_6_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..da60a530e697e853fc7f3fe26f166d9df2090f96 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_6_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_6_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_6_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..e7a46db69c13d43084aa2389680c57db6e814b80 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_6_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_6_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_6_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..b7b4431a96d2d4b1a27cf5ab8dee8023856954c0 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_6_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_7_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_7_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..14188bb548ceca43e858699e489506ded1a3a976 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_7_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_7_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_7_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..eea5183a88918095819c767daa0c29ef21ce91ce Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_7_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_7_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_7_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..17e4a5970a5f4604e6dadaca234c65ca14fcf9c1 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_7_seg3.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_8_seg1.wav b/data/wavs/segmented/ANC150_LEC_seg_8_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..eca8ec31637f9535b9a4ed48c1971c8becbdc6c3 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_8_seg1.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_8_seg2.wav b/data/wavs/segmented/ANC150_LEC_seg_8_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..422ff24102bf72eddc91771f95c5dcf5fba2f4a2 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_8_seg2.wav differ diff --git a/data/wavs/segmented/ANC150_LEC_seg_8_seg3.wav b/data/wavs/segmented/ANC150_LEC_seg_8_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..8784d16d82d1ebac21433412d58776da575ee857 Binary files /dev/null and b/data/wavs/segmented/ANC150_LEC_seg_8_seg3.wav differ diff --git a/data/wavs/segmented/file1_seg1.wav b/data/wavs/segmented/file1_seg1.wav new file mode 100644 index 0000000000000000000000000000000000000000..0697ba98dd81ab00af282555b0e0f413b9caf2f3 Binary files /dev/null and b/data/wavs/segmented/file1_seg1.wav differ diff --git a/data/wavs/segmented/file1_seg2.wav b/data/wavs/segmented/file1_seg2.wav new file mode 100644 index 0000000000000000000000000000000000000000..389d6ab8a1455764feac6a0f4173e29ec04066eb Binary files /dev/null and b/data/wavs/segmented/file1_seg2.wav differ diff --git a/data/wavs/segmented/file1_seg3.wav b/data/wavs/segmented/file1_seg3.wav new file mode 100644 index 0000000000000000000000000000000000000000..de5811c430e2acb85e6cc280de642a192c3087dc Binary files /dev/null and b/data/wavs/segmented/file1_seg3.wav differ diff --git a/dataloader/embedding_extract.py b/dataloader/embedding_extract.py index dfd01c7205f88b075a81e429e514eac219573d0f..ab18f45bcbe2e90978a6840d6aab79d379fdcac3 100644 --- a/dataloader/embedding_extract.py +++ b/dataloader/embedding_extract.py @@ -61,12 +61,15 @@ if __name__=="__main__": if not os.path.exists(saving_path): os.makedirs(saving_path) - + # GENERATES TWO EMBEDDINGS [2,1,DIM] IF FILE IS IN STEREO + # GENERATES ONE EMBEDDING [1,1,DIM] IF FILE IS IN MONO print("\nExtracting speaker embeddings...") with tqdm(total=len(extraction_files)) as pbar: for files in os.listdir(config['wav_path']): if files.endswith('.wav'): - embedding = extractor(config['wav_path'] + files, classifier) + embedding = extractor((config['wav_path'] + \ + files), classifier) + buf = os.path.splitext(files) new_f = buf[0]+'_'+ext+'_emb.pickle' diff --git a/utils/audio_segmenter.py b/utils/audio_segmenter.py new file mode 100644 index 0000000000000000000000000000000000000000..4663fc66a1ca755c140f1661d734734cc1271a37 --- /dev/null +++ b/utils/audio_segmenter.py @@ -0,0 +1,67 @@ +from pydub import AudioSegment +import os +import sys +import wave +import contextlib +from tqdm import tqdm + +fname = AudioSegment.from_wav("./file1.wav") + + +# RETURNS THE DURATION OF AN AUDIOFILE IN MILISECS +def get_file_duration(wavfile): + with contextlib.closing(wave.open(wavfile,'r')) as f: + frames = f.getnframes() + rate = f.getframerate() + duration = frames / float(rate) + return duration*1000 # DURATION IN MILISECS FOR AUDIOSEGMENT + +# SEGMENTS THE AUDIO FILE IN EQUAL LENGTH SEGMENTS +def segmenter(wavpath, wavfile, segs, savepath): + + duration = get_file_duration(wavpath+wavfile) + buf = os.path.splitext(wavfile) + i = 1 + j = 0 + tblock = duration/segs + + while (j+tblock) <= duration: + newAudio = AudioSegment.from_wav(wavpath+wavfile) + newAudio = fname[j:j+tblock] + newAudio.export(savepath+buf[0]+'_seg'+\ + str(i)+'.wav', format='wav') + j += tblock + i += 1 + + +if __name__=="__main__": + + segments = 3 + wavfile = './file1.wav' + + wav_path = '../data/wavs/' + saving_path = '../data/wavs/segmented/' + + if not os.path.exists(saving_path): + os.makedirs(saving_path) + + total_files = os.listdir(wav_path) + + with tqdm(total=len(total_files)) as pbar: + for files in os.listdir(wav_path): + if files.endswith('.wav'): + segmenter(wav_path,files,segments,saving_path) + pbar.update(1) + else: + pbar.update(1) + continue + + #segmenter(wavfile, segments) + + + + + + + + diff --git a/utils/file1.wav b/utils/file1.wav new file mode 100644 index 0000000000000000000000000000000000000000..16bac8f84e751e3eedbb5d376fd693a56b666288 Binary files /dev/null and b/utils/file1.wav differ diff --git a/utils/file1_trunked.wav b/utils/file1_trunked.wav new file mode 100644 index 0000000000000000000000000000000000000000..37c8293b042995218e1513af52be5ab5eea8e8b9 Binary files /dev/null and b/utils/file1_trunked.wav differ