code: def gammatone(freq, bandwidth):
    
    A = exp(-bandwidth)
    cosw = cos(freq)
    sinw = sin(freq)
    sig = [1., -1.]
    coeff = [cosw + s1 * (sqrt(2) + s2) * sinw for s1 in sig for s2 in sig]
    numerator = [1 - A * c * z ** -1 for c in coeff]
    denominator = 1 - 2 * A * cosw * z ** -1 + A ** 2 * z ** -2
  
    filt = CascadeFilter(num / denominator for num in numerator)
    return CascadeFilter(f / abs(f.freq_response(freq)) for f in filt)
docs: ``Slaney, M. "An Efficient Implementation of the Patterson-Holdsworth
      Auditory Filter Bank", Apple Computer Technical Report #35, 1993.``