μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

Audio Data Preprocessing

proggg 2021. 2. 7. 15:39

Audio ?

 

audio λŠ” 맀질이 진동 ν•˜λ©΄μ„œ λ°œμƒν•œλ‹€. 예λ₯Ό λ“€μ–΄ λͺ©μ†Œλ¦¬λŠ” μ„±λŒ€μ—μ„œ λ°œμƒν•œ νŒŒλ™μ΄ 곡기λ₯Ό λΆ„μžλ₯Ό μ§„λ™μ‹œν‚€λ©΄μ„œ ν˜•μ„±λ˜λŠ” κ³΅κΈ°μ••μ˜ 진폭이 μœ„μ™€ 같은 waveform ν˜•νƒœλ₯Ό λ§Œλ“€κ²Œ λœλ‹€.

Y 좕은 Amplitude ( 진폭 ). X 좕은 Time (μ‹œκ°„ . sec ) 이닀.

νŠΉμ • μ§€μ μ—μ„œ κ·Έ 값이 λ‹€μ‹œ λ“±μž₯ν•˜κΈ° κΉŒμ§€μ˜ μ‹œκ°„μ„ period ( μ£ΌκΈ° ) 라고 ν•œλ‹€. 주기의 μ—­μˆ˜λŠ” frequency ( 주파수 ) κ°œλ…μœΌλ‘œ ν™•μž₯이 λœλ‹€. Frequency λŠ” Hz λ‹¨μœ„λ₯Ό μ‚¬μš©ν•˜κ³  μ΄ˆλ‹Ή 100번 period ( μ£ΌκΈ° ) κ°€ λ°œμƒν•˜λŠ” μ†Œλ¦¬λ₯Ό 100 Hz 라고 μ •μ˜ ν•œλ‹€. λ”°λΌμ„œ μ£ΌνŒŒμˆ˜λŠ” f = 1/t μˆ˜μ‹μ΄ μ„±λ¦½ν•œλ‹€.

μ‚¬λžŒμ˜ κ°€μ²­ 주파수 ( Frequency ) λŠ” 20 Hz ~ 20KHz 이닀.

Analog Digital Conversion ( ADC )

μ˜€λ””μ˜€ λ°μ΄ν„°λŠ” 연속적인 데이터인데, 이λ₯Ό input 으둜 λ„£κΈ° μœ„ν•΄μ„œλŠ” discrete ν•œ λ²‘ν„°λ‘œ λ§Œλ“€μ–΄μ•Ό ν•œλ‹€. 이λ₯Ό μœ„ν•΄μ„œ ADC ( Analog Digital Conversion ) 과정을 거치고 μ΄λŠ” Sampling , Quantization λ‘κ°œμ˜ step 으둜 이루어진닀.

Sample Rate

Sample Rate λŠ” μ΄ˆλ‹Ή sample 개수λ₯Ό μ˜λ―Έν•œλ‹€. 예λ₯Ό λ“€μ–΄, Sample rate = 44100 Hz 인 μ†Œλ¦¬λŠ” μ΄ˆλ‹Ή 44100 개의 sample 을 λ½‘μ•˜λ‹€λŠ” 말이닀.

μ˜μƒμ—…κ³„μ˜ ν‘œμ€€ 동기화 문제둜 보톡 μ˜€λ””μ˜€ Sample Rate λŠ” 44100 Hz 값을 κ°–κ²Œ λœλ‹€.

Quantization

μ‹€μ œλ‘œ continuous ν•œ 데이터λ₯Ό discrete ν•˜κ²Œ λ§Œλ“œλŠ” 과정인데 , 이와 κ΄€λ ¨ 된 κ°œλ…μœΌλ‘œ Bit Depth κ°€ μžˆλ‹€. Bit Depth λŠ” Quantization 을 μ–Όλ§ˆλ‚˜ μ„Έλ°€ν•˜κ²Œ 할지에 λŒ€ν•œ μ •λ„λ‘œ 예λ₯Ό λ“€μ–΄μ„œ audio file 의 bit depth κ°€ 16bits 이면 , 16 bit ( μ•½ 65536 levels ) κ°’μœΌλ‘œ discrete ν•˜κ²Œ μ–‘μžν™” 된 μ†Œλ¦¬μž„μ„ μ˜λ―Έν•œλ‹€. μ–‘μžν™”λ₯Ό 마친 λ°μ΄ν„°λŠ” 인코딩을 거쳐 0κ³Ό 1 이진 λΉ„νŠΈλ‘œ ν‘œν˜„ λœλ‹€.

Feature Extraction

μœ„μ—μ„œ Audio κ°€ μ–΄λ–»κ²Œ μ •μ˜λ˜κ³ , 데이터 ν™” λ˜λŠ”μ§€ μ•Œμ•˜λ‹€. ν•˜μ§€λ§Œ μ˜€λ””μ˜€ λ°μ΄ν„°λŠ” 맀우 고차원이고, μ—¬λŸ¬ Frequency κ°€ μ„žμ—¬μ„œ λ°œμƒν•˜λ―€λ‘œ, 데이터λ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜λŠ” 것 보닀 , μ‹ ν˜Έμ˜ μ„±μ§ˆμ„ 잘 λ°˜μ˜ν•˜λŠ” Feature λ₯Ό μΆ”μΆœν•˜λŠ” 것이 μ’‹λ‹€.

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— MFCCs ( Mel - Frequancy Cepstral Coefficients ) λΌλŠ” λŒ€ν‘œμ μΈ μ˜€λ””μ˜€ Feature λ₯Ό λ½‘λŠ” 과정을 μ‚΄νŽ΄ λ³Ό ν•„μš”κ°€ μžˆλ‹€.

 

이 과정에 λŒ€ν•΄μ„œ ν•˜λ‚˜μ”© μ•Œμ•„λ³΄μž. 

Windowing ( Framing ) 

input data ( audio ) λŠ” sequential ν•˜κ³ , time dependent ν•˜λ‹€. λ”°λΌμ„œ Time invariant ( stationary ) 과정이 κ°€λŠ₯해지고, μ•„μ£Ό 짧은 κ΅¬κ°„μœΌλ‘œ μ‹ ν˜Έλ₯Ό μͺΌκ° λ‹€. 이 과정을 windowing 이라고 ν•œλ‹€. μ΄λ ‡κ²Œ 잘린 ꡬ간 λ‚΄μ—μ„œ μ‹ ν˜ΈλŠ” stationary 가정을 λ§Œμ‘±ν•΄ μ‹œκ°„μ— 영ν–₯을 받지 μ•Šκ²Œ λœλ‹€. μŒμ„±μΈμ‹ task μ—μ„œλŠ” 각 ꡬ간이 ν•˜λ‚˜μ˜ phone 을 κ°€μ§€κ²Œ μž˜λΌμ€€λ‹€. 보톡 25 ms 정도λ₯Ό ν•œ κ΅¬κ°„μ˜ 길이둜 μž‘λŠ”λ‹€. 

 

각각 μΆ”μΆœν•œ windowing 의 μ–‘ 끝은 μž˜λΌμ˜¨κ²ƒμ΄κΈ° λ•Œλ¬Έμ— λΆˆμ—°μ†ν•  수 μžˆλ‹€. λ”°λΌμ„œ window 의 μ–‘ 끝을 0 으둜 μˆ˜λ ΄μ‹œν‚€λŠ” window function 을 각 κ΅¬κ°„λ§ˆλ‹€ κ³±ν•΄μ€€λ‹€. λ‹€μŒ 그림에 μ •κ·œλΆ„ν¬ 같이 생긴 ν•¨μˆ˜κ°€ window function 이닀. 

 

FFT ( Fourier Transform & Spectogram )

푸리에 λ³€ν™˜ ( Fourier Transform )

audio μ‹ ν˜ΈλŠ” 차원이 맀우크고, ν•œ μ‹ ν˜Έμ—λ„ μ„œλ‘œ λ‹€λ₯Έ μ—¬λŸ¬ Frequency 듀이 κ²°ν•©λ˜μ–΄ μžˆμ–΄, waveform μ—μ„œ feature λ₯Ό 뽑아내기 μ–΄λ ΅λ‹€. 푸리에 λ³€ν™˜μ€ μ‹ ν˜Έλ₯Ό λ‹€λ₯Έ frequency λ“€μ˜ ν•©μœΌλ‘œ ν‘œν˜„ν•΄, waveform 을 time domain μ—μ„œ frequency domain 으둜 λ³€ν™˜ μ‹œν‚¨λ‹€. 이λ₯Ό 톡해 아무리 λ³΅μž‘ν•œ μ‹ ν˜ΈλΌλ„ 각각의 frequency μ—μ„œ 해석이 κ°€λŠ₯ν•˜λ‹€. 밑에 κ·Έλž˜ν”„λ₯Ό 보며 μ΄ν•΄ν•΄λ³΄μž.