Mel spectrum 과 MFCC (Mel Frequency Cepstral Coefficient)의 의미


음성(speech)신호 $x[n]$을 분석하기 위해 신호 $x[n]$을 frame 단위 별로 짤라서 STFT를 한다. STFT를 보고 해석할 수 있는점이 많지만 그 이상으로 해석하기 위해 나온것이 Mel spectrum 과 MFCC 에 대해 살펴보도록 하자.

STFT의 단점이라면 무엇일까?

신호 $x[n]$을 프레임별로 짤라 DFT를 구하는 과정이 STFT이다. STFT의 값은 아래와 같이 표현이 가능하다.

$$X_m[k]$$

위 값의 의미는 m번째 프레임의 DFT라는 의미이다.STFT만으로도 많은 분석이 가능하지만, STFT의 부족한점이라면 무엇일까?

첫번째, $X_m[k]$에서 k를 주목하자. $k=2\pi/N$꼴이다. DFT를 활용할 경우$2\pi$를 균등분할한 값에 대해서 spectrum 을 보게된다. 컴퓨터는 이렇게 N등분해서 받아들이는 것은 잘한다. 그런데! 인간은 모든 주파수를 균등분할해서 따로 따로 처리하지 않는다. 주파수를 쪼개서 처리하지만 주파수 대역별로 민감도가 달라서 쪼갠 주파수 대역의 넓이가 다르다. (자세한 얘기는 밑의 mel filterbank 얘기를 보면 알게된다.) STFT는 이러한 인간의 청각인지 특성을 반영하지 않았다.

두번째, STFT는 삐죽삐죽 뾰족하다. voiced sound 에 대해서 뾰족한것이 반복되는 구조가 나온다. 음성이 생성될 때의 vocal tract의 상태를 알 고 싶다면 vocal tract frequency를 봐야 하는데 STFT만으로 이것을 관찰하기 어렵다. 이렇게 반복되는 구조가 나오는 이유는 pitch 때문인데 STFT 만으로 pitch 의 영향을 걷어내는 방법은 잘 보이지 않는다.

Mel filter bank

인간이 주파수대역별로 소리를 처리하는 방식을 Mel filter bank로써 모델링한다. 말로만 하자니 좀 그러니 그림을 보자.

1 1

위의 그림은 인간이 주파수 대역별로 소리를 어떻게 인지하는지를 보여준다. 필터뱅크를 구성하는 필터의 넓이가 고주파로 갈수록 넓어짐을 알 수 있다. 이것은 저주파수에서의 변화를 민감하게 반응하고 고주파수에서 주파수변화를 덜 민감하게 받아들인다는 것의미한다. 저주파수일때 더 큰 값을 갖게 되는데 이것은 저주파수에 대해 더 잘듣는다? 더 증폭해서 듣는다라는 것을 뜻한다. 위의 그림은 sampling frequency 가 4khz 일 때의 예시여서 4000hz 까지만 나왔다. 필터 뱅크를 구성하는 필터의 갯수는 R=23 이다.

Mel spectrum

위의 필터뱅크는 인간이 소리를 인지하는 방식을 모델링하였다고 한다. STFT를 인간의 입장으로써 해석하기 위해 위의 mel filter bank를 곱한다.

2 1

3

여기서 r은 멜 필터뱅크중 몇번째 인지를 뜻한다. $MF_m[r]$는  m-th frame에 대하여, 주파수대역을 $2\pi/N$간격으로 쪼갠것이 아니라 mel filterbank를 구성하는 filter의 갯수만큼 쪼개서 계산할 수 있다. 이렇게 함으로써 인간이 소리를 인지할때 주파수대역으로 나누는 방식으로 spectrum을 계산할 수 있다.$A_r$는 normalized를 위해 사용되었다.

MFCC (Mel Frequency Cepstral Coefficient)

Mel spectrum 을 이해했다면 MFCC를 이해하기 쉽다. Mel spectrum에 DCT를 적용한 식이 MFCC 이다.

4

Mel spectrum을 역 DFT변환하여 실수부만 쳐다본거로 해석할 수 있겠다. 여기서 $n$의 값은 $1$부터 $N_{mfcc}$까지인데 $N_{mfcc}$는 필터뱅크를 구성하는 필터 개수보다는 작게 잡는다.

spectral smoothing method의 차이

5

STFT와 STFT를 스무딩 하는 방법들에 대해 보겠다. 동그란 점들은 mel spectrum의 로그를 의미한다. $log(MF_m[r])$로써 인간의 관점에서 주파수별로 에너지의 spectrum을 구한 것이다. 이 동그란점을 이어 붙혀서 Mel Cepstrum smoothing을 하였다. Mel cepstrum smoothing을 하면 pitch 구조가 사라지고 formant구조는 좀더 튀는 것을 알 수 있다. Homomorphic smoothing 보다는 좀 더 formant가 도드라지는 장점이 있다.

마무리

Mel spectrum, MFCC는 인간이 소리를 처리할때  주파수 대역을  나눠서 처리하는 방식을 모방했다는 점에 의의가 있지만 이것을 사용할 경우 성능향상등의 이점이 있어서 많이 쓰이고 있다고 한다. 딥러닝시대로 넘어와서도 많이 쓰이고 있다고 한다. 영혼없이 사용할 수 있지만 그 의미를 느껴보면서 사용하는게 중요할 것 같다.

출처-Pearson._ Rabiner, Lawrence R._ Schafer, Ronald W – Theory and applications of digital speech processing-Pearson_Prentice Hall (2010_2011)

Leave a Comment