[Speech] Auditory Filter Bank (필터뱅크)

3 minute read

Filter banks를 알기에 앞서 전통적인 spectrogram이 무엇인지 알아보고, 전통적인 spectrogram과 auditory filter bank은 무슨 차이가 있는지 알아보자.

[1] Classic Spectrograms

Spectrogram스펙트로그램은 오디오 및 음성 스펙트럼 분석 및 응용에 쓰이는 기본적인 툴이며, 현재에도 여전히 널리 쓰이고 있다. 오디오 신호에 Short-Time Fourier Transform를 취한 representation이하 STFT은 complex복소 신호인데, 이 STFT 신호의 magnitude를 intensity level로 나타낸 것을 spectrogram이라고 정의하며, 주로 log scale (dB)로 나타낸다.

STFT는 단순히 window윈도우가 씌워진 short-time data segment들에 대해 FFT를 취해 나온 sequece를 말한다. 이 때 window는 시간에 대해 overlap중첩이 가능하고, 일반적으로 최소 50%를 overlap해준다. Spectrogram은 다음 parameter를 가진다.

Overlap을 하는 이유는??

  • Window 길이 ($M$) : Frequency resolution주파수 분해능을 조절
  • Window 종류 (Hamming, Kaiser, etc.) : side-lobe suppression을 조절 (단, window 길이 $M$이 고정되어 있을 때, resolution을 희생)
  • FFT length ($N$) : 스펙트럼에 대해 얼마나 많이 oversampling (interpolation)을 하는 지를 결정
  • Hop size ($R$) : 시간 축에 대해서 얼마나 많이 oversampling하는 지를 결정

Hop size가 1인 sliding FFT (즉, $R=1$ 일 때)에는, 시간에 따른 downsampling 없이 oversampling을 최대화한다. Hamming window를 사용하면, $R=(M-1)/2$ 일 때 time aliasing 없이 sliding FFT에 대한 최대 downsampling을 할 수 있다. Time aliasing을 피한다는 것은 곧 inverse STFT 시 robust하게 perfect recontruction을 해낼 수 있다는 것을 의미한다.

[2] Audio Spectrograms

전통적인 spectrogram은 주로 time-frequency에 대해 log-magnitude intensity (dB)를 보여주고, 어느 정도 높은 레벨의 sound-pressure level (decibel데시벨 스케일)에서는 거의 perceived loudness에 비례하게 나타난다. 그렇기 때문에, 전통적인 spectrogram은 소리에 대한 음향심리학적을 ‘상당히’ 좋은 표현 방식이라고 할 수 있다. (단, window 길이는 귀의 integration time과 비슷하게 설정해줌) 하지만, 전통적인 spectrogram을 “더욱 음향심리학적으로 충실하도록” 표현할 수 있도록 발전시킬 수 있는 방법이 몇 가지 있을 것이다.

  1. Loudness perception은 낮은 loudness level에서의 amplitude와 linearly related하다.
  2. STFT는 uniform한 bandpass filter bank로 구현된다. 즉, 스펙트럼 샘플들이 균등한 간격을 두고 있으며, 같은 bandwidth를 가진다.
  3. 하지만 사람의 청각 시스템에서는 주파수가 높아질수록 time resolution은 증가하고, frequency resolution은 감소한다. 그러므로, 사람의 귀는 고역대로 갈 수록 더 넓은 bandwidth를 가진 non-uniform한 filter bank로 구현되어 있다고 볼 수 있다. 다시 말해, 시간 영역에서는 고역대에서 더 짧은 integration time (effective window length)를 필요로 한다는 것이다.

[3] Auditory Filter Banks

Auditory filter bank는 사람의 청각 시스템의 frequency resolution을 모방하기 위해 디자인 되었으며, bandwidth가 non-uniform한 여러 band-pass filter들로 구성되어 있다. 이는 Auditory frequency-scale warping와 밀접한 연관이 있다.

Filter bank의 출력 신호가 frequency에 대해 non-uniform하게 분포되어 있기 때문에, linear에서 warped frequency로 매핑하도록 정의되었다고 볼 수 있다. FFT 같이 bandwidth가 unifrom한 filter bank라고 볼 수 있다.

Auditory filter bank는 여러 종류가 있다.

Since there’s a lot of neural processing between the cochlea and our psychoacoustic perceptions, it would not be surprising if the best parameters were different between these types of models, but it seems likely that the linear and nonlinear filter due to the cochlea plays a big enough role in perception that we may find one set of parameters is adequate, at least for a range of machinehearing applications.

The roex family is useful mostly as a descriptive model, a way to parameterize and describe the shape of an auditory filter’s magnitude transfer function; it has no corresponding phase, no time-domain equivalent, and no “runnable” implementation.

The gammatone-family filters bridge the other two families, being useful as filter shape descriptions, but also implementable as real analog or digital filters to process sounds. The basic gammatone, while very popular, is not particularly accurate or controllable in the ways we would want, but its variations, the gammachirp filter (GCF) [17] and the all-pole and one-zero gammatone filters (APGF and OZGF) [18], [19], are much better in these respects.

Leave a comment