0
我对随机的wav文件使用了短时傅里叶变换,并对幅度谱进行了一些改变。为了“听到”我所做的,我试图通过使用反STFT来逆转这个过程。逆傅立叶变换只有幅度 - 我是否也需要相位?
在Python中,频谱看起来像这样。 Magnitude Spectrum in Python
不过,如果我想整个事情重新转换成WAV和看看它的光谱,它看起来是这样的: Magnitude Spectrum after ISTFT
我只是使用逆FFT幅度。我究竟做错了什么? 我是否也需要相位信号?我可以使用相同的相位信号,即使我操纵的幅度?
# ....read wav-file, perform STFT on it and manipulate the magnitude spectrum
# Then (as follows) I'm trying to write it back
fs = 41000.0 # Frequency Spectrum
filteredwrite = istft(magnitude)
from scipy.io.wavfile import read, write
write('../data/mxx.wav', fs, filteredwrite.astype(x.dtype))
傅立叶函数正常工作,如果我做IFFT(FFT(F)) - 这里没有什么错。
现在我添加了初始阶段和信号看起来完全相同,并搞砸了...... – Jamona