def spectrogram2wav(spectrogram, n_fft, win_length, hop_length, num_iters):
'''
spectrogram: [t, f], i.e. [t, nfft // 2 + 1]
'''
min_level_db = -100
ref_level_db = 20
spec = spectrogram.T
# denormalize
spec = (np.clip(spec, 0, 1) * - min_level_db) + min_level_db
spec = spec + ref_level_db
# Convert back to linear
spec = np.power(10.0, spec * 0.05)
return _griffin_lim(spec ** 1.5, n_fft, win_length, hop_length, num_iters) # Reconstruct phase
评论列表
文章目录