본문 바로가기
Audio/Coding

Music Genre Classification (1)

by BaekDaBang 2024. 11. 7.

1. 음성 데이터 활용

음성 데이터는 인공지능 스피커에서의 음성 인식, 유튜브 자막 생성을 위한 오디오 캡셔닝 등 다양한 분야에 활용되고 있습니다. 음성 분야의 최신 기술 동향을 살펴보면, 음성 데이터로부터 handcrafted feature를 추출하여 이를 인공지능 신경망의 입력으로 사용하는 추세입니다. 이를 위해서는 raw data(음성)으로부터 handcrafted feature가 어떻게 기술되는지 알아야 할 필요가 있습니다.

 

2. 음성 데이터란?

기타 줄을 튕기면 순간적으로 줄이 앞뒤로 흔들리게 됩니다. 이 때 줄 주변의 공기도 앞뒤로 흔들리며 주변으로 퍼져나가게 되고, 이렇게 앞뒤로 흔들리며 이동하는 공기가 우리의 청각 기관으로 들어와 고막을 흔들게되면 우리는 소리를 인식하게 되는 것입니다.

 

소리가 발생하는 경우 공기는 압축되며, 압축이 얼마나 되었느냐에 따라 진동합니다. 이는 공간이나 매질을 전파해 나아가는 현상인 Wave(파동)로 표현할 수 있습니다.

위 그림에서와 같이 시간 축에 대한 파동의 높이를 진폭(amplitude), 한 사이클을 도는 데 걸리는 시간을 주기(period), 1초에 완성되는 주기의 횟수를 주파수(frequency)라고 칭합니다. 주파수의 단위는 Hz이며 낮은 음일수록 주파수가 낮고, 높은 음일수록 주파수가 높습니다. 또한 소리의 크기는 진폭에 따라 결정됩니다.

 

3. 디지털 변환

샘플링과 양자화를 거치면 이제 컴퓨터에 입력해줄 수 있는 디지털 정보로 변환됩니다.

(1) 샘플링(Sampling)

연속적인 음성은 아날로그 데이터이기 때문에 컴퓨터에 입력시키기 위해서는 디지털 정보로 표현해주어야 합니다. 이 때 아날로그 데이터를 무한히 쪼갤 수는 없으므로 기준을 세워 대표값으로 쪼개 사용하는데, 이 과정을 샘플링(Sampling)이라고 합니다. 샘플링은 주로 시간 도메인을 기준으로 이루어집니다. 샘플링 레이트(sampling rate)는 1초당 추출되는 샘플의 개수입니다. 사람의 가청 주파수 영역을 고려한 표준 샘플링 레이트는 44100Hz인데, 이는 1초를 44100등분하여 오디오 데이터를 이산화하는 것을 의미합니다. 샘플링 레이트를 높여 잘게 쪼갤수록 음성 데이터의 정보 손실은 줄어들지만, 데이터의 크기가 늘어날 것입니다.

(2) 양자화(Quantization)

앞서 샘플링을 통해 시간 축에 대한 이산화를 진행하였다면, 양자화는 진폭 축에 대한 이산화에 해당합니다. B bit를 기준으로 양자화하는 경우 $-2^{B-1} ~ +2^{B}$의 구간으로 진폭값들이 이산화되고 마찬가지로 B가 클수록 더 세부적인 정보를 담음으로써 원래 음성 신호의 정보 손실을 줄일 수는 있지만 그만큼 필요한 저장 공간이 늘어나게 될 것입니다.

'Audio > Coding' 카테고리의 다른 글

Music Genre Classification (2)  (0) 2024.11.07