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