๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

MFCC (Mel Frequency Cepstrum Coefficient) ์Œ์„ฑ ์‹ ํ˜ธ ๋ถ„์„ํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ธ๊ณต์ง€๋Šฅ (ML & DL)/AI

MFCC (Mel Frequency Cepstrum Coefficient) ์Œ์„ฑ ์‹ ํ˜ธ ๋ถ„์„ํ•˜๊ธฐ

์ง•์ง•์•ŒํŒŒ์นด 2022. 11. 3. 13:29
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” ์นด์นด์˜ค์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๋‹˜์˜ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ, hyunlee103๋‹˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-) >

https://tech.kakaoenterprise.com/66

 

AI์—๊ฒŒ ์–ด๋–ป๊ฒŒ ์Œ์„ฑ์„ ๊ฐ€๋ฅด์น ๊นŒ?

์‹œ์ž‘ํ•˜๋ฉฐ ์ธ๊ฐ„์€ ๊ท€๋กœ ๋“ฃ๊ณ , ์ž…์œผ๋กœ ๋งํ•˜์—ฌ ํƒ€์ธ๊ณผ ์˜์‚ฌ์†Œํ†ตํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์™€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์กด์žฌ๋ฅผ ์ฐฝ์กฐํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ๋ฐ”๋žŒ์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์˜ค๋ž˜์ „๋ถ€ํ„ฐ ์ƒ์ƒํ•˜๊ณ , ์†Œ์„ค๋กœ ์“ฐ๊ณ , ์—ฐ๊ตฌํ•ด ์™”์Šต๋‹ˆ๋‹ค.

tech.kakaoenterprise.com

https://hyunlee103.tistory.com/54

 

์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ (1) Waveform

๋ชจ๋‘์˜ ์—ฐ๊ตฌ์†Œ ์Œ์„ฑ์ธ์‹ ํ’€์žŽ์Šค์ฟจ์—์„œ Introduction to Speech Processing(2E) ์ค‘ acousitc featrure extraction ๋ถ€๋ถ„ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•œ๊ตญ ์ธ๊ณต์ง€๋Šฅํ˜‘ํšŒ ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ ์„ธ์…˜์—์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋„

hyunlee103.tistory.com

 

 

 

๐Ÿ Audio

์–ด๋–ค ๋ฌผ์ฒด๊ฐ€ ์ง„๋™ํ•˜๋ฉด์„œ ๋ฐœ์ƒ

Y์ถ•์€ Amplitude(์ง„ํญ), X์ถ•์€ Time(sec)

ํŠน์ • ์ง€์ ์—์„œ ๋‹ค์Œ ๋“ฑ์žฅํ•˜๋Š” ๊ทธ ๊ฐ’๊นŒ์ง€๋ฅผ period(์ฃผ๊ธฐ)

Frequency๋Š” Hz ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, 1์ดˆ์— 100๋ฒˆ period(์ฃผ๊ธฐ)๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”, 100Hz๋กœ ์ •์˜

f = 1/T 

High frequency ์ดˆ๋‹น ์ง„๋™ ์ˆ˜(์ฃผ๊ธฐ)๊ฐ€ ๋งŽ์€ ์†Œ๋ฆฌ์˜ ๊ฒฝ์šฐ High pitch(๋†’์€ ์†Œ๋ฆฌ)๋ฅผ ๊ฐ€์ง

Amplitude๊ฐ€ ํฌ๋ฉด ์†Œ๋ฆฌ๊ฐ€ ํฌ๋‹ค

 

 

 

๐Ÿ ์ฃผํŒŒ์ˆ˜๋ž€ 

: ์‹ ํ˜ธ๊ฐ€ 1์ดˆ์— ๋ช‡ ๋ฒˆ ์ง„๋™ํ–ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์น˜

: ์†Œ๋ฆฌ๋Š” ๋น ๋ฅด๊ฒŒ ์ง„๋™ํ• ์ˆ˜๋ก, ์ฆ‰ ์ฃผํŒŒ์ˆ˜๊ฐ€ ๋†’์„์ˆ˜๋ก ์Œ์ด ๋†’๊ฒŒ ๋“ค๋ฆผ

 

  • ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜(Fourier transform)

: ํŠน์ • ์‹œ๊ฐ„ ๊ธธ์ด์˜ ์Œ์„ฑ ์กฐ๊ฐ(์ด๋ฅผ ํ”„๋ ˆ์ž„์ด๋ผ๊ณ  ๋ถ€๋ฆ„)์ด ๊ฐ๊ฐ์˜ ์ฃผํŒŒ์ˆ˜ ์„ฑ๋ถ„๋“ค์„ ์–ผ๋งˆ๋งŒํผ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ŠคํŽ™ํŠธ๋Ÿผ(spectrum)์„ ์–ป์Œ

 

  • ์ŠคํŽ™ํŠธ๋กœ๊ทธ๋žจ(spectrogram)

: ์Œ์„ฑ ์ „์ฒด๋กœ๋ถ€ํ„ฐ ์–ป์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ŠคํŽ™ํŠธ๋Ÿผ์„ ์‹œ๊ฐ„ ์ถ•์— ๋‚˜์—ดํ•˜๋ฉด ์‹œ๊ฐ„ ๋ณ€ํ™”์— ๋”ฐ๋ฅธ ์ŠคํŽ™ํŠธ๋Ÿผ์˜ ๋ณ€ํ™”

 

 

 

๐Ÿ ์‚ฌ๋žŒ์˜ ์†Œ๋ฆฌ๋ฅผ ๋“ฃ๋Š” ๊ณผ์ •

์†Œ๋ฆฌ๋ฅผ ๋“ฃ๋Š” ๊ธฐ๊ด€์ธ ๊ท€๋Š” ๊ท“๋ฐ”ํ€ด์—์„œ ์†Œ๋ฆฌ๋ฅผ ๋ชจ์œผ๊ณ , ๊ณ ๋ง‰๊ณผ ์ด์†Œ๊ณจ์ด ์ง„๋™ํ•˜์—ฌ ๋‹ฌํŒฝ์ด๊ด€์˜ ์ฒญ๊ฐ ์„ธํฌ๋ฅผ ์ž๊ทนํ•˜๋ฉด ์ „๊ธฐ ์‹ ํ˜ธ๊ฐ€ ๋ฐœ์ƒํ•ด ์ด๋ฅผ ๋‡Œ์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹

 

๋‹ฌํŒฝ์ด๊ด€์€ ๋งˆ์น˜ ๊ธธ๊ฒŒ ๋Š˜์–ด์ง„ ๊ด€์„ ๋Œ๋Œ ๋ง์€ ๋ชจ์–‘๊ณผ ๊ฐ™์œผ๋ฉฐ, ์•ก์ฒด๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ๋Š” ์ด ๊ด€์—๋Š” ์ฒญ๊ฐ ์„ธํฌ๋“ค์ด ์ผ๋ ฌ๋กœ ๋‚˜์—ดํ•ด ์žˆ๋Š” ์ฝ”๋ฅดํ‹ฐ ๊ธฐ๊ด€์ด ์กด์žฌ

๋ฐ–์—์„œ ์ง„๋™์ด ์ „๋‹ฌ๋˜๋ฉด ์ฝ”๋ฅดํ‹ฐ ๊ธฐ๊ด€์˜ ํŠน์ • ์ฒญ๊ฐ ์„ธํฌ๊ฐ€ ์ž๊ทน๋˜์–ด ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š”๋ฐ, ์ฒญ๊ฐ ์„ธํฌ๋งˆ๋‹ค ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์ด ๋‹ค๋ฆ„

 

๋‹ฌํŒฝ์ด๊ด€์˜ ๊ฐ€์žฅ ์•ˆ์ชฝ ์ฒญ๊ฐ ์„ธํฌ๋Š” ์ €์ฃผํŒŒ ๋Œ€์—ญ์„ ์ธ์ง€ํ•˜๋ฉฐ, ๋ฐ”๊นฅ์ชฝ ์ฒญ๊ฐ ์„ธํฌ๋Š” ๊ณ ์ฃผํŒŒ ๋Œ€์—ญ์„ ์ธ์ง€

๋ชจ๋“  ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์„ ๊ฐ™์€ ๋น„์ค‘์œผ๋กœ ์ธ์ง€ํ•˜์ง€ ์•Š๊ณ , ๊ณ ์ฃผํŒŒ์—์„œ ์ €์ฃผํŒŒ๋กœ ๋‚ด๋ ค๊ฐˆ์ˆ˜๋ก ๋‹ด๋‹นํ•˜๋Š” ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์ด ์ ์  ๋” ์กฐ๋ฐ€

 

 

๐Ÿ ์Œ์„ฑ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

๊น€๋™ํ™”[ ๋Œ€ํ•™์›์„&middot;๋ฐ•์‚ฌํ†ตํ•ฉ๊ณผ์ •์ˆ˜๋ฃŒ์—ฐ๊ตฌ(์žฌํ•™)

โญ FFT -> logFFT -> IFFT (Log FFT)
โญFourier transform  ->  ์ œ๊ณฑ (power spectrum)  ->  Mel-filter bank  ->  Real log  ->  Discrete cosine transform(DCT)

 

 

 

 

๐Ÿ ๋ฉœ ์Šค์ผ€์ผ(Mel scale)

Mel scale๊ณผ Hertz scale๊ฐ„์˜ ๋น„๊ต

์‹ค์ œ ์ฃผํŒŒ์ˆ˜ ์ •๋ณด๋ฅผ ์ธ๊ฐ„์˜ ์ฒญ๊ฐ ๊ตฌ์กฐ๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ์ˆ˜ํ•™์ ์œผ๋กœ ๋ณ€ํ™˜

pitch์—์„œ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์˜ ์Œ์„ ์ธ์ง€ํ•˜๋Š” ๊ธฐ์ค€(threshold)์„ ๋ฐ˜์˜ํ•œ scale ๋ณ€ํ™˜ ํ•จ์ˆ˜

 

๋†’์ด๊ฐ€ ๋‹ค๋ฅธ 2๊ฐœ์˜ ์Œ์„ ์‚ฌ๋žŒ์—๊ฒŒ ๋“ค๋ ค์คฌ์„ ๋•Œ, ์‚ฌ๋žŒ์ด ์ธ์ง€ํ•˜๋Š” ์ฐจ์ด์™€ ๋‘ ์Œ์˜ ์‹ค์ œ ์ฃผํŒŒ์ˆ˜ ์ฐจ์ด๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์กฐ์‚ฌํ•˜์—ฌ ํ†ต๊ณ„๊ฐ€ ๊ตฌ์ถ•

์ฃผํŒŒ์ˆ˜ ์„ฑ๋ถ„์„ ์ค‘์š”๋„์— ๋”ฐ๋ผ ์ฐจ๋“ฑ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ์ง€ํ‘œ

 

 

๐Ÿ Mel-Frequency Cepstral Coefficient (MFCC)

์ธ๊ฐ„์ด ์†Œ๋ฆฌ๋ฅผ ์ธ์ง€ํ•˜๋Š” ๊ณผ์ •(์›๋ฆฌ)์„ ๋”ฐ๋ผ ํ•ด์„œ '์–ด๋–ค ํŠน์ง• ๋ฒกํ„ฐ'๋ฅผ ์ถ”์ถœํ•ด๋‚ด๋Š” ๊ณผ์ •

์ฃผํŒŒ์ˆ˜์— ๋”ฐ๋ผ ์ง„๋™ํ•˜๊ฒŒ ๋˜๋Š” ๋ถ€๋ถ„์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— Mel filterbank๋ผ๋Š” ํ•„ํ„ฐ๋ฑ…ํฌ๋ฅผ ์ด์šฉํ•ด์„œ ์†Œ๋ฆฌ๋ฅผ ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ๋ณ„๋กœ ๊ฑธ๋Ÿฌ๋ƒ„

 

์‚ฌ๋žŒ์€ ๋‚ฎ์€ ์ฃผํŒŒ์ˆ˜์— ๋”์šฑ ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘

๋‚ฎ์€ ์ฃผํŒŒ์ˆ˜์—์„  ๋” ์„ธ์„ธํ•˜๊ฒŒ, ๋†’์€ ์ฃผํŒŒ์ˆ˜๋กœ ๊ฐˆ์ˆ˜๋ก ๋“ฌ์„ฑ๋“ฌ์„ฑ ์ชผ๊ฐœ์ง

๋‚ฎ์€ ์ฃผํŒŒ์ˆ˜์—์„œ ๋†’์€ ์ฃผํŒŒ์ˆ˜๊นŒ์ง€ ๊ธฐ์ €๋ง‰์ด ์ง„๋™ํ•˜๋Š” ๋ถ€์œ„๊ฐ€ ๋‹ค๋ฆ„

 

MFCC (Mel-Frequency Cepstral Coefficient) : ์Œ์„ฑ์‹ ํ˜ธ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์–ด๋– ํ•œ ํŠน์ง•์„ ๋ฝ‘์•„๋‚ด๋Š” ๊ณผ์ •

โœ” feature extraction

coefficient (๊ณ„์ˆ˜) : ์–ด๋–ค ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ๊ตฌํ•œ ๊ณ„์ˆ˜

์—ฌ๋Ÿฌ task(์Œ์„ฑ์„ ์–ด๋–ค ์‹์œผ๋กœ๋“  ๋ถ„๋ฅ˜ํ•˜๋Š” task)์—์„œ ์Œ์„ฑ์˜ ํ•œ feature(ํŠน์„ฑ)์œผ๋กœ์จ ์ด์šฉ

MFCC ๊ตฌํ•˜๋Š” ๊ณผ์ •

1. Pre-emphasis filtering : ์ „์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ณ ์ฃผํŒŒ ๋ถ€๊ทผ์—์„œ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๋Š” ์Œ์„ฑ์„ ๊ฐ•์กฐ
2. Windowing : fram ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š”๋ฐ ๊ธธ์ด๋Š” 25~35ms ์‚ฌ์šฉํ•˜๊ณ  50% overlap ์ด์šฉ
3. ์ „์ฒด ์˜ค๋””์˜ค ์‹ ํ˜ธ๋ฅผ ์ผ์ • ๊ฐ„๊ฒฉ์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜์„ ๊ฑฐ์ณ ์ŠคํŽ™ํŠธ๋กœ๊ทธ๋žจ์„ ๊ตฌํ•จ
4. ๊ฐ ์ŠคํŽ™ํŠธ๋Ÿผ์˜ ์ œ๊ณฑ์ธ ํŒŒ์›Œ ์ŠคํŽ™ํŠธ๋กœ๊ทธ๋žจ์— Mel scale filter bank๋ฅผ ์‚ฌ์šฉํ•ด ์ฐจ์› ์ˆ˜๋ฅผ ์ค„์ž„
5. log() & IDCT => MFCC : cepstral ๋ถ„์„์„ ์ ์šฉํ•ด MFCC๋ฅผ ๊ตฌํ•จ

Cepstral ๋ถ„์„ : ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜์„ ๊ฑฐ์ณค์„ ๋•Œ ์‹œ๊ฐ„ ์ถ•์—์„œ ์ฒœ์ฒœํžˆ ๋ณ€ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋‚ฎ์€ ์ฃผํŒŒ์ˆ˜ ์„ฑ๋ถ„์— ์œ„์น˜ํ•˜๊ณ , ๋นจ๋ฆฌ ๋ณ€ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋†’์€ ์ฃผํŒŒ์ˆ˜ ์„ฑ๋ถ„์— ์œ„์น˜

Mel scale filter bank

 

 

โœ” Mel filterbank

Mel : ์šฐ๋ฆฌ์˜ ์ฃผํŒŒ์ˆ˜์— ๋”ฐ๋ฅธ ์ฃผ๊ด€์ ์ธ ์ธ์ง€๋Ÿ‰์„ ์ธก์ •ํ•˜๋Š” ๋‹จ์œ„

์ฃผํŒŒ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋†’์•„์ง€๋ฉด ์ž˜ ๊ตฌ๋ณ„ํ•˜์ง€ ๋ชปํ•˜๋Š” ํŠน์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผํŒŒ์ˆ˜๋ฅผ ๋น„์„ ํ˜•์ ์ธ ๊ฐ’์œผ๋กœ mel์ด๋ผ๋Š” ๋‹จ์œ„๋กœ ๋งคํ•‘ ์‹œํ‚ด

์ฆ‰, mel์ด๋ผ๋Š” ๋‹จ์œ„๋Š” ๋น„์„ ํ˜•์ ์ธ ์ฃผํŒŒ์ˆ˜๋ผ๋Š” ๋‹จ์œ„๋ฅผ ์ธ๊ฐ„์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ์„ ํ˜•์ ์œผ๋กœ ํ‘œํ˜„๋จ

๊ธฐ์ค€์€ 1000Hz (1000 mel=1000Hz)

 

 

โœ” STFT (Short Time Fourier Transform)

Time ๋„๋ฉ”์ธ์˜ ํŒŒํ˜•์„ Frequency ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€ํ˜•์‹œํ‚ค๋Š” ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜

์ „์ฒด ํŒŒํ˜•์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋ฉด ์ œ๋Œ€๋กœ ๋œ ์ฃผํŒŒ์ˆ˜ ๋ถ„์„์„ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์งง์€ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐ๊ฐ์˜ ๊ตฌ๊ฐ„์— ๋Œ€ํ•ด ๋ณ€ํ™˜

  • win_length : FFT(Fast Fourier Transform์˜ ์•ฝ์ž, ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹)๋ฅผ ํ•  ๋•Œ ์ฐธ์กฐํ•  ๊ทธ๋ž˜ํ”„์˜ ๊ธธ์ด
  • hop_length : ์–ผ๋งˆ๋งŒํผ ์‹œ๊ฐ„ ์ฃผ๊ธฐ๋ฅผ ์ด๋™ํ•˜๋ฉด์„œ ๋ถ„์„์„ ํ•  ๊ฒƒ์ธ์ง€ (์นผ๋ผ๋งต์˜ ์‹œ๊ฐ„ ์ฃผ๊ธฐ)
  • n_fft : win_length๋ณด๋‹ค ๊ธธ ๊ฒฝ์šฐ ๋ชจ๋‘ zero paddingํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ (default๋Š” win_length์™€ ๊ฐ™์Œ)

https://hyongdoc.tistory.com/401

 

 

 

 

 

 

๊ทธ๋ž˜ํ”„ X, Y ์ถ•์€ ์ด๋Ÿฐ ์‹์œผ๋กœ ํ˜๋Ÿฌ๊ฐ„๋‹ค

https://012vision.tistory.com/m/entry/draw-wav-frequency

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments