I have sucessfully implemented a STFT (+inverseSTFT with perfect reconstruction of original signal, with overlap add, etc.) in order to work on audio files.
Using this STFT / iSTFT framework, I have tested :
Basic "noise reduction" algorithm that works by spectral subtraction of a noise template -> it works very well !
Hi-pass filtering by zeroing the lowest bins (or, better idea : multiplying these lowest bins by a smooth window, like Hann). It works (the filtering is good to my ears), but the spectrogram is not what I want :
I would prefer (for the low frequency 0hz-300hz) something like :
What should I do in the STFT array in order to do a good hi-pass filtering? (i.e. having a clean spectrogram in the low frequencies like the second picture here)
PS : here is the STFT scheme I use in Python : http://pastebin.com/MdycVLQk