我在做:
import librosa
D = librosa.stft(samples, n_fft=nperseg,
hop_length=overlap, win_length=nperseg,
window=scipy.signal.windows.hamming)
spect, _ = librosa.magphase(D)
audio_signal = librosa.griffinlim(spect, n_iter=1024,
win_length=nperseg, hop_length=overlap,
window=signal.windows.hamming)
print(audio_signal, audio_signal.shape)
sf.write('test.wav', audio_signal, sample_rate)并且它在重建的音频信号中引入了明显的失真。我能做些什么来改善这一点?
发布于 2021-09-13 18:57:56
您需要使用居中的窗口函数,以便窗口信号是零相位的,即它完全对称于窗口的中心。在这种情况下,您可以使用hann窗口,这是一个具有非零端点的升余弦窗口。
D = librosa.stft(samples, n_fft=nperseg,
hop_length=overlap, win_length=nperseg,
window=scipy.signal.windows.hann)
spect, _ = librosa.magphase(D)
audio_signal = librosa.griffinlim(spect, n_iter=1024,
win_length=nperseg, hop_length=overlap,
window=signal.windows.hann)
print(audio_signal, audio_signal.shape)
sf.write('test.wav', audio_signal, sample_rate)发布于 2021-11-15 12:33:15
你应该使用像WaveNet这样的基于神经网络的声码器进行重建
https://stackoverflow.com/questions/60937046
复制相似问题