MCPcopy Create free account
hub / github.com/MoonInTheRiver/DiffSinger / load_meta_data

Method load_meta_data

data_gen/singing/binarize.py:47–72  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

45 self.item2spk = {}
46
47 def load_meta_data(self):
48 for ds_id, processed_data_dir in enumerate(self.processed_data_dirs):
49 wav_suffix = '_wf0.wav'
50 txt_suffix = '.txt'
51 ph_suffix = '_ph.txt'
52 tg_suffix = '.TextGrid'
53 all_wav_pieces = glob.glob(f'{processed_data_dir}/*/*{wav_suffix}')
54
55 for piece_path in all_wav_pieces:
56 item_name = raw_item_name = piece_path[len(processed_data_dir)+1:].replace('/', '-')[:-len(wav_suffix)]
57 if len(self.processed_data_dirs) > 1:
58 item_name = f'ds{ds_id}_{item_name}'
59 self.item2txt[item_name] = open(f'{piece_path.replace(wav_suffix, txt_suffix)}').readline()
60 self.item2ph[item_name] = open(f'{piece_path.replace(wav_suffix, ph_suffix)}').readline()
61 self.item2wavfn[item_name] = piece_path
62
63 self.item2spk[item_name] = 'SPK1'
64 if len(self.processed_data_dirs) > 1:
65 self.item2spk[item_name] = f"ds{ds_id}_{self.item2spk[item_name]}"
66 self.item2tgfn[item_name] = piece_path.replace(wav_suffix, tg_suffix)
67
68 self.item_names = sorted(list(self.item2txt.keys()))
69 if self.binarization_args['shuffle']:
70 random.seed(1234)
71 random.shuffle(self.item_names)
72 self._train_item_names, self._test_item_names = split_train_test_set(self.item_names)
73
74 @property
75 def train_item_names(self):

Callers 1

processMethod · 0.95

Calls 2

split_train_test_setFunction · 0.85
keysMethod · 0.80

Tested by

no test coverage detected