Applies to version: 0.9.7

View the code

Go to function

GFB_DELAY_NEW - Create new delay object



Input parameters

analyzer The gfb_analyzer structure as returned by gfb_analyzer_new.
delay_samples The desired group delay in samples. Must be at least 1, because of the way the phase factors are computed. Larger delays lead to better signal quality

Output parameters

delay The new gfb_delay object


gfb_delay_new(analyzer, delay_samples) creates a new gfb_delay object that can act as the first stage of a synthesizer that resynthesizes the output of the gammatone filterbank analyzer. The purpose of the delay object is to delay the output of each band by a band-dependent ammount of samples, so that the envelope of the impulse response of the analyzer is as large as possible at the desired delay. Additionally, the delay object will multiply this delayed output with a band-dependent complex phase factor, so that the real part of the impulse response has a local maximum at the desired delay. Finally, the delay object will output only the real part of each band.

The phase factors are approximated numerically in this constructor, using a method described in Herzke & Hohmann (2007). The approximation assumes parabolic behaviour of the real part of the impulse response in the region of the desired local maximum: The phase factors are chosen so that the real parts of the impulse response in the samples directly preceeding and following the desired local maximum will be equal after multiplication with the pase factor.


T. Herzke and V. Hohmann. Improved numerical methods for gammatone filterbank analysis and synthesis. Acta Acustica united with Acoustica, 93(3):498-500, 2007.