From d2ac51c8c254e12530d045216f1eab327ddde157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stardust=C2=B7=E5=87=8F?= <2225664821@qq.com> Date: Mon, 21 Aug 2023 07:23:06 +0800 Subject: [PATCH] Update data_utils.py --- data_utils.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/data_utils.py b/data_utils.py index 4d9481e..09c6fa3 100644 --- a/data_utils.py +++ b/data_utils.py @@ -83,12 +83,28 @@ class TextAudioSpeakerLoader(torch.utils.data.Dataset): audio_norm = audio / self.max_wav_value audio_norm = audio_norm.unsqueeze(0) spec_filename = filename.replace(".wav", ".spec.pt") - try: + if self.use_mel_spec_posterior: + spec_filename = spec_filename.replace(".spec.pt", ".mel.pt") + if os.path.exists(spec_filename): spec = torch.load(spec_filename) - except: - spec = spectrogram_torch(audio_norm, self.filter_length, - self.sampling_rate, self.hop_length, self.win_length, - center=False) + else: + if self.use_mel_spec_posterior: + ''' TODO : (need verification) + if linear spec exists convert to + mel from existing linear spec (uncomment below lines) ''' + if os.path.exists(filename.replace(".wav", ".spec.pt")): + #spec, n_fft, num_mels, sampling_rate, fmin, fmax + spec = spec_to_mel_torch( + torch.load(filename.replace(".wav", ".spec.pt")), + self.filter_length, self.n_mel_channels, self.sampling_rate, + self.hparams.mel_fmin, self.hparams.mel_fmax) + spec = mel_spectrogram_torch(audio_norm, self.filter_length, + self.n_mel_channels, self.sampling_rate, self.hop_length, + self.win_length, self.hparams.mel_fmin, self.hparams.mel_fmax, center=False) + else: + spec = spectrogram_torch(audio_norm, self.filter_length, + self.sampling_rate, self.hop_length, self.win_length, + center=False) spec = torch.squeeze(spec, 0) torch.save(spec, spec_filename) return spec, audio_norm