Spaces:
Runtime error
Runtime error
| ''' | |
| item: one piece of data | |
| item_name: data id | |
| wavfn: wave file path | |
| txt: lyrics | |
| ph: phoneme | |
| tgfn: text grid file path (unused) | |
| spk: dataset name | |
| wdb: word boundary | |
| ph_durs: phoneme durations | |
| midi: pitch as midi notes | |
| midi_dur: midi duration | |
| is_slur: keep singing upon note changes | |
| ''' | |
| from copy import deepcopy | |
| import logging | |
| from preprocessing.process_pipeline import File2Batch | |
| from utils.hparams import hparams | |
| from preprocessing.base_binarizer import BaseBinarizer | |
| SVCSINGING_ITEM_ATTRIBUTES = ['wav_fn', 'spk_id'] | |
| class SVCBinarizer(BaseBinarizer): | |
| def __init__(self, item_attributes=SVCSINGING_ITEM_ATTRIBUTES): | |
| super().__init__(item_attributes) | |
| print('spkers: ', set(item['spk_id'] for item in self.items.values())) | |
| self.item_names = sorted(list(self.items.keys())) | |
| self._train_item_names, self._test_item_names = self.split_train_test_set(self.item_names) | |
| # self._valid_item_names=[] | |
| def split_train_test_set(self, item_names): | |
| item_names = deepcopy(item_names) | |
| if hparams['choose_test_manually']: | |
| test_item_names = [x for x in item_names if any([x.startswith(ts) for ts in hparams['test_prefixes']])] | |
| else: | |
| test_item_names = item_names[-5:] | |
| train_item_names = [x for x in item_names if x not in set(test_item_names)] | |
| logging.info("train {}".format(len(train_item_names))) | |
| logging.info("test {}".format(len(test_item_names))) | |
| return train_item_names, test_item_names | |
| def train_item_names(self): | |
| return self._train_item_names | |
| def valid_item_names(self): | |
| return self._test_item_names | |
| def test_item_names(self): | |
| return self._test_item_names | |
| def load_meta_data(self): | |
| self.items = File2Batch.file2temporary_dict() | |
| def _phone_encoder(self): | |
| from preprocessing.hubertinfer import Hubertencoder | |
| return Hubertencoder(hparams['hubert_path']) |