当我在Tacotron训练笔记本上的时候,我得到了一个错误信息,上面写着这样的话。Traceback (most recent call last) <ipython-input-10-df8aeedb909f> in <module> 2 3 if generate_mels: ----> 4 create_mels()
TypeError: mel() takes 0 positional arguments but 5 were given.
有人能给予我一个解决方案吗?
我尝试添加self来创建mels,但失败了。更新:我从转换WAVS到Mel频谱图部分复制了完整的代码。
def create_mels():
print("Generating Mels")
stft = layers.TacotronSTFT(
hparams.filter_length, hparams.hop_length, hparams.win_length,
hparams.n_mel_channels, hparams.sampling_rate, hparams.mel_fmin,
hparams.mel_fmax)
def save_mel(filename):
audio, sampling_rate = load_wav_to_torch(filename)
if sampling_rate != stft.sampling_rate:
raise ValueError("{} {} SR doesn't match target {} SR".format(filename,
sampling_rate, stft.sampling_rate))
audio_norm = audio / hparams.max_wav_value
audio_norm = audio_norm.unsqueeze(0)
audio_norm = torch.autograd.Variable(audio_norm, requires_grad=False)
melspec = stft.mel_spectrogram(audio_norm)
melspec = torch.squeeze(melspec, 0).cpu().numpy()
np.save(filename.replace('.wav', ''), melspec).
这些信息还不够吗?
2条答案
按热度按时间o7jaxewo1#
我下载了另一个版本的librosa,现在它对我有效。它给出了一个错误,因为最新版本0.10。不再接受争论了
pip install "librosa=0.9.1"
e0bqpujr2#
更新对mel()的调用以包含参数名称:
例如
mel = librosa_mel_fn(sr=sampling_rate, n_fft=n_fft, n_mels=num_mels, fmin=fmin, fmax=fmax)
而不是:
mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax)