Gammatone filter vs 2D FFT for spectograms I am working on speech segeration and each source I am reading , spectograms are being made by filterbanks which uses gammatone filters . I can't find a proper c++ source code which would make me understand process behind gammafilters, completely. 

Now I am curious what is its difference than 2d FFT, I mean why all sources prefer that way(gammatone filters), but not taking FFT for a time period ?
An FFT is a linearly spaced frequency filter bank of fixed length.  To characterize speech more like the human ear-brain combination, a log or MEL frequency spaced filter bank, with differing filter response lengths for different frequency/pitch wavelengths, is a better match.  An array of gamma tone filter kernels is more like the latter than is an FFT.