def make_filterbank(self):
erb_max = hz2erb(self.sr/2.0)
erb_freqs = np.arange(0, self.n_bins) * erb_max / float(self.n_bins - 1)
self.hz_freqs = erb2hz(erb_freqs)
self.widths = np.round(0.5 * (self.n_bins - 1) / erb_max *
9.26 * 0.00437 * self.sr * np.exp(-erb_freqs / 9.26) - 0.5)
self.filters = []
for b in range(self.n_bins):
w = self.widths[b]
f = self.hz_freqs[b]
exponential = np.exp(
np.complex(0,1) * 2 * np.pi * f / self.sr *
np.arange(-w, w + 1))
self.filters.append(np.hanning(2 * w + 1) * exponential)
评论列表
文章目录