Estoy haciendo:
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)Y está introduciendo una distorsión notable en la señal de audio reconstruida. ¿Qué puedo hacer para mejorar eso?
Debe usar un codificador de voz basado en redes neuronales como WaveNet para la reconstrucción
Necesita usar una función de ventana que esté centrada para que la señal de la ventana sea de fase cero, es decir, sea perfectamente simétrica alrededor del centro de la ventana. En este caso, puede utilizar la ventana Hann, que es una ventana de coseno elevado con extremos distintos de cero.
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)