Branch Log · Open in interactive viewer →

Section 4: Acoustic Feature Extraction

대부분의 machine learning problem에서 original data를 그대로 사용할 수는 없다. 대신 data에서 feature를 추출한 뒤 이를 바탕으로 model을 학습시킨다.

feature extraction


4.1 global acoustic feature

우선 entire audio 기준으로 봤을 때의 feature인 global acoustic feature를 추출할 수 있다.

예를 들면 F0(Fundamental frequency)나 F1, F2(formants), intensity 등이 해당된다.

하지만 periodic signal처럼 stationary signals일 경우에만 global acoustic feature를 사용하는 의미가 있다.


4.2 Short-time analysis

하지만 entire audio를 small segments(10~30ms)로 나누면, 각 segment는 stationary하다고 볼 수 있다. 이러한 접근법을 short-time analysis라고 한다.

video에서의 frame과는 다른 개념이다. video frame은 사람이 실제로 보는 image를 의미하지만, audio frame을 사람이 frame 단위로 듣지는 않는다.


4.2.1 Framing

frame

frame parameter에 따라서 세 가지 condition이 존재한다.

   📝 예제 1: Framing    

다음과 같은 조건에서 #frames, samples per frame을 구하라.

   🔍 풀이   

1,000ms / 10ms = 100 frames

16kHz * 0.025s = 400 samples

size > step이므로 다음과 같이 overlap되는 frame이 생성된다.

framing example


4.2.2 Window function

하지만 framing 후 frame의 edge 부분에서 discontinuity가 발생한다.

discontinuity

이러한 discontinuity를 가진 채 Fourier transform을 적용하면 Gibbs phenomenon(깁스 현상)이 발생한다.

Gibbs phenomenon

spectral leakage: 원래 signal에는 없는 frequency가 관측되는 현상

이를 해결하기 위해서 window function을 사용한다.

대표적인 window function으로는 세 가지가 있다.


4.2.2.1 Hanning window, Hamming window

discrete signal $x[n]$ ( $0 \le n \le N-1$ )에서, Hanning, Hamming window function의 weight $w[n]$ 은 다음과 같은 분포를 갖는다.

hanning, hamming window

$$ w[n] = (1 - \alpha) - \alpha \cos{{2\pi n} \over {N-1}} $$


4.3 Frame post-processing

이제 windowed frame에서 feature를 추출해야 한다. 하지만 model의 입력으로 사용하기 위해서는 post-processing 절차가 추가로 필요하다.


4.3.1 Frame stacking

context information을 더 얻기 위해서 frame stacking 기법을 적용한다.

다음은 width 2로 frame stacking을 적용한 예시다.

frame stacking

이웃하는 frame을 copy하거나, globally averaged frame을 사용한다.


4.3.2 Frame subsampling

computation cost를 줄이고, memory space를 효율적으로 사용하기 위해 frame subsampling을 추가로 적용한다.

frame subsampling


4.3.3 Frame normalization

다음으로 model convergence를 원활히 할 수 있도록 frame normalization를 적용한다.

frame normalization

normalized value $y_i$ 는 다음과 같이 normalize된다.

$$ y_i = (x_i - {\mu}_i)/{\sigma}_i $$


4.4 Summary: From audio to feature

audio to feature