26.2 Feature Extraction for ASR: Log Mel Spectrum
- ASR의 첫번째 단계는 waveform(input)을 a sequence of acoustic feature vectors으로 바꾸는 것
- 각 벡터(vector)는 신호의 작은 window에 있는 정보를 나타낸다.
- 이 때, feature vectors는 sequences of log mel spectrum 벡터다.
26.2.1 Sampling and Quantization
- analog representations을 digitial signal로 변환해야 한다. (analog-to-digital conversion)
- analog-to-digital conversion은 두 가지 단계로 구성되어 있다.
- 1. sampling 2. quantization
1. sampling
- 신호는 특정 시간에 진폭(amplitude)를 측정하여 샘플링된다.
- sampling rate(샘플링 속도): 초당 측정되는 샘플의 개수, 1초에 몇 번 sampling 할 것인지
- 파동(wave)을 정확하게 측정하기 위해서는 각 사이클(cycle)에 최소 2개의 샘플이 있어야 한다.
- 하나는 파동의 양의 부분을, 다른 하나는 파동의 음의 부분을 측정한다.
- 따라서, 측정할 수 있는 최대 주파수 파장은 sampling rate의 절반인 파장이다. (각 사이클마다 최소 2개의 샘플이 있어야 하기 때문이다.) (주파수와 파장은 서로 역수 관계이기 때문에 (*) 이용해서 생각하면 이해가 된다)
- Nyquist frequency: 주어진 samping rate에 대한 측정할 수 있는 최대 주파수
- Nyquist Theorem: 아날로그 신호의 maximum frequency의 2배 이상의 sampling rate로 sampling 해야 신호를 복원할 수 있다.
- (*) 최대 주파수(maximum frequency, 내가 분석해야 할 최대 주파수)까지 주파수 분석을 하기 위해서는 샘플링 주파수(sampling frequency)를 최대 주파수의 최소 2배 이상 측정해야 한다.
- ex) 계측 장비의 sampling rate가 10Hz이면, '내가 분석할 수 있는 최대 주파수'는 5Hz가 된다.
- 인간의 음성에서 대부분의 정보는 Nyquist frequency 10,000Hz 미만이므로 정확한 측정을 위해 20,000Hz sampling rate가 필요하다.
- 전화 음성은 4,000Hz 미만의 주파수만 전화에 의해 전송되므로 8,000Hz sampling rate가 필요하다.
- 더 높은 sampling rate일수록, 더 높은 ASR 정확도를 얻을 수 있다.
- 하지만 ASR 시스템을 훈련하고 테스트하기 위해 서로 다른 샘플링 속도를 결합할 수는 없다.
- 따라서 Switchboard(8kHz sampling)와 같은 전화 말뭉치에서 테스트할 경우 훈련 말뭉치를 8kHz로 downsampling 해야한다.
2. quantization
- 진폭(amplitude) 측정 값은 정수 형태로 저장된다.(8비트 or 16bit)
- 실수 값을 정수로 표현하는 과정을 quantization(양자화)라고 한다.
- quantization(양자화): 여러 단계로 나뉜 범위 안에서 sampling된 신호에 가까운 범위를 대표하는 정수 값으로 바꾸는 것
- 디지털화 되고 양자화된 파형에서 시간 인덱스 n에서의 각 샘플을 x[n]이라고 표현한다.
- 출처 및 참고자료
- Daniel Jurafsky, James H. Martin, Speech and Language Processing.
- 네트워크 수업시간 강의자료
- https://ralasun.github.io/signal%20analysis/2021/07/01/nyq/