home/ atoms/ griffin-lim-phase-reconstruction

Griffin-Lim reconstructs a plausible phase from a magnitude spectrogram, so its output sounds robotic

A neural network that outputs a magnitude spectrogram discards phase — the information the inverse STFT needs to build a time-domain waveform. The Griffin-Lim algorithm iteratively estimates a phase that is consistent between the STFT and iSTFT. It does not recover the original phase; it converges on the nearest consistent one. The audio is usable but carries a characteristic metallic/robotic texture precisely because the estimated phase is wrong. Griffin-Lim is the simplest phase-reconstruction option and is available directly in librosa, so no manual phase modelling is needed. Higher-quality alternatives (neural vocoders such as WaveNet/HiFi-GAN) exist but require training additional models.

Examples

Reconstructing a spoken-digit magnitude spectrogram with Griffin-Lim yields an audible but clearly robotic digit — the imperfect phase is the artifact. In librosa: signal = librosa.griffinlim(S).

Assessment

Why does a network that outputs a magnitude spectrogram still need Griffin-Lim? What does Griffin-Lim guarantee (phase consistency) and what does it NOT guarantee (correct phase)?

“it sounds very robotic and the reason is because we are reconstructing the spectrogram the magnitude spectrogram uh using the griffin limb algorithm and the phase is not perfect”
corpus · generating-sound-with-neural-networks-the-sound-of-ai-valeri · chunk 4