Below shows an example using STFT to transform speech into the frequency domain and ISTFT to transform the spectral data back to waveforms in the time domain. The Librosa package is used.
import librosa
import soundfile as sf
x, sr = librosa.load('1.wav', sr=None)
n_fft = 256
hop_length = 128
win_length = 256
X = librosa.stft(x, n_fft=n_fft, hop_length=hop_length, win_length=win_length)
y = librosa.istft(X, n_fft=n_fft, hop_length=hop_length, win_length=win_length)
sf.write('1_istft.wav', y, 16000)
Results for x and y:
References:
Matlab: Short-Time Fourier Transform (STFT) and its inverse transform (ISTFT) (StudyEECC)
沒有留言:
張貼留言