preprocess issue
Chuk101 opened this issue · 8 comments
After downloaded the VCTK Corpus and copy the file under /Dataset (and create a directory '/Dataset/VCTK-Corpus/' to include the file: speaker-info.txt), I run the preprocess.py and get the following result. How can I fix this?
(voice-clone) C:\Python\VQMIVC>python preprocess.py
all_spks: ['257', '294', '304', '297', '226', '282', '247', '330', '361', '252', '293', '306', '340', '231', '268', '283', '243', '334', '315', '269', '285', '310', '230', '311', '374', '307', '286', '323', '245', '227', '239', '240', '363', '284', '251', '318', '246', '265', '244', '228', '333', '276', '255', '225', '308', '260', '339', '312', '336', '347', '345', '258', '335', '270', '376', '237', '316', '326', '364', '273', '263', '259', '267', '292', '232', '229', '254', '264', '287', '278', '236', '317', '272', '233', '234', '248', '249', '305', '299', '281', '302', '329', '262', '351', '288', '298', '250', '343', '256', '300', '275', '341', '279', '277', '271', '241', '303', '274', '313', '266', '301', '253', '261', '314', '295', '360', '362', '238']
len(spk_wavs): 0
len(spk_wavs): 0
len(spk_wavs): 0
.
.
.
len(spk_wavs): 0
len(spk_wavs): 0
len(spk_wavs): 0
0
0
0
extract log-mel...
0it [00:00, ?it/s]
normalize log-mel...
Traceback (most recent call last):
File "preprocess.py", line 141, in
mels = np.concatenate(mels, 0)
File "<array_function internals>", line 6, in concatenate
ValueError: need at least one array to concatenate
According to the printing information, no wav is detected. May I know which version of VCTK corpus did you download? The latest version of VCTK should have the following directory: '/Dataset/VCTK-Corpus/wav48_silence_trimmed/{spk-id}/{wav-name}.mic1.flac', it is different from the older version of VCTK that contains the wav with '.wav' as suffix. If you have the latest version of VCTK, it should work as expected. Besides, please re-check to ensure the wavs path is correct.
It was RELEASE August 2012 (Version 0.80). There is no directory named '/Dataset/VCTK-Corpus/wav48_silence_trimmed' Guess I need to download the newest version. It may take a day. Do you have better mirror sites for download?
sry, my download speed is as slow as yours. If you want to use old version of VCTK, you can try to modify the path to your current path of VCTK, e.g., '/Dataset/VCTK-Corpus/wav48_silence_trimmed' -> '/Dataset/VCTK-Corpus/wav48', '.mic1.flac' -> '.wav', etc. I think the resulting performance should be similar.
20 hours left to download the new version. In the meantime, I shall rename the directory and the file names. Let's see how it goes.
Run it again with the renamed directory and file names. But the result is exactly the same as the first comment. Am I missing something?
FYI - code to change the file names:
import glob, os
from os import listdir
from os.path import isfile, join
mypath = 'Dataset/VCTK-Corpus/wav48_silence_trimmed'
for folders in listdir(mypath):
filepath = os.path.join(mypath, folders)
for filename in glob.iglob(os.path.join(filepath, '*.wav')):
os.rename(filename, filename[:-4] + '.mic1.flac')
sry, my download speed is as slow as yours. If you want to use old version of VCTK, you can try to modify the path to your current path of VCTK, e.g., '/Dataset/VCTK-Corpus/wav48_silence_trimmed' -> '/Dataset/VCTK-Corpus/wav48', '.mic1.flac' -> '.wav', etc. I think the resulting performance should be similar.
What I mean is to make these changes in the code, e.g., '.mic1.flac' changed to '.wav', not to physically change the directory names and suffix of wavs.
changed the 'mic1.flac' to '.wav' and the directory: data_root = '/Dataset/VCTK-Corpus/wav48'
Also found the folders for variable 'spk' has a prefix p (p225, p226...etc).
It seems I have to change folder names, otherwise "spk_wavs = glob(f'{data_root}/{spk}/*.wav')" will not be able to read these files.
Please make sure 'spk_wavs' has length > 1, otherwise you can't process any wavs.