Walleclipse / Deep_Speaker-speaker_recognition_system

Keras implementation of ‘’Deep Speaker: an End-to-End Neural Speaker Embedding System‘’ (speaker recognition)
245 stars 81 forks source link

关于完整数据集的一些问题 #41

Closed LittleMaWen closed 4 years ago

LittleMaWen commented 4 years ago

学长,我下载的数据集解压后全部是flac格式,但是我看您给出的sample中有flac格式也有对应的wav格式。我用pre_process.py来处理数据,但总是得不到npy格式的文件,没有发生任何变化。我觉得是我的操作又有问题了,我是不是应该先把flac格式转化为wav格式?在pre_process.py文件中,我是不是应该修改129行filename = '/home/dcase/mawen/SW/Deep_Speaker-speaker_recognition_system-master/audio/LibriSpeechSamples/train-clean-100/19/227/19-227-0036.wav'和137行preprocess_and_save("/home/dcase/mawen/SW/Deep_Speaker-speaker_recognition_system-master/audio/LibriSpeechSamples/train-clean-100")。 129行中为什么精确到了某一个wav文件?不可以直接到train-clean-100这个文件夹吗?137行中预处理后保存的文件不应该存在train-clean-100-npy这个文件夹中吗? 不知道是不是我理解的不对,烦请您有空时解答,谢谢您!

Walleclipse commented 4 years ago

你好, 按照如下步骤进行: 1)需要把数据下载到 audio/LibriSpeechSamples/文件夹下。 2) 用 audio/convert_flac_2_wav.sh 把 flac格式转换成对应的wav格式。如果是linux或者mac利用以下命令
bash convert_flac_2_wav.sh
3) 运行 pre_process.py
python pre_process.py 如果你的文件结构和该repo类似,直接运行 pre_process.py 就可以处理所有wav文件了。129行这个只是用于测试单个文件,实际上只需要运行 104行的 preprocess_and_save 就可以了.

LittleMaWen commented 4 years ago

我明白了,怪不得我说怎么没有wav格式的文件。但是转换完后,python pre_process,py还是得不到train-clean-100-npy形式的文件夹,好像没有任何变化。虽然得到了下面的结果,可是数据集跟pre_process之前没差,这是为什么呢? Found 0028539 files with 00251 different speakers. extract fbank from audio and save as npy, using multiprocessing pool........ task 0 slibri length: 5707 task 1 slibri length: 5707 task 2 slibri length: 5707 task 3 slibri length: 5707 task 4 slibri length: 5711 Waiting for all subprocesses done... Extract audio features and save it as npy file, cost 2.4107725620269775 seconds ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^ ^ˍ^

Walleclipse commented 4 years ago

pre_process.py的118行会进入 prep来进行处理。也就是真正处理wav文件的是 83 行的 prep函数. 你这个是没有进入 prep 函数来处理就已经退出了,没有处理任何wav文件。 我也不清楚具体原因,我觉得可能是多线程的问题。 你可以试图直接在 108行调用 prep(libri,out_dir) 来进行单个线程的处理,然后仔细的看一下每一步。

LittleMaWen commented 4 years ago

太感谢您啦!!在108行直接调用,现在可以得到npy文件啦!谢谢您不厌其烦的解答~