2023-03-30,   김상민

이번 포스팅에서는 소리의 시각화에 대해 알아보고자 합니다.


소리 란?

1

소리(sound) 또는 음파는 공기와 같은 매질의 진동을 통해 전파되는 파동으로, 대개 가청음파, 곧 사람의 귀로 들을 수 있는 진동수를 가진 음파를 말합니다. 일반적으로 소리에 대한 표현은 시간 영역(Time domain)과 주파수 영역(Frequency domain)에서 나타납니다. 시간 영역은 시간에 따른 소리의 세기 등을 표현하고 있으며, 주파수 영역에서는 소리가 가지고 있는 주파수를 표현합니다. 대표적으로 스펙트럼(Spectrum), 스펙트로그램(Spectrogram), 멜-스펙트로그램(Mel-Spectrogram)으로 나타납니다. 우리는 소리를 주파수로 표현하는 소리의 시각화에 대해 더 알아보도록 하겠습니다.

Spectrum

2

먼저, 단순한 푸리에 변환(Fourier Transform)을 통해서 시간 영역의 waveform을 주파수 영역으로 시각화 하는 방법입니다. Spectrum은 특정 시점에서의 입력샘플 값을 가지고 주파수 영역으로 나타내기 때문에 입력 값과 출력 값이 모두 1-Dimension이 됩니다. 즉, Spectrum은 Spectogram과 다르게 시간에 따른 변화를 나타내지 못합니다.

Spectrogram

3

앞서 푸리에 변환 과정을 통해 시간 영역의 waveform을 주파수 영역으로 나타냈습니다. 이번에는 STFT(Short-Time Fourier Transform)을 통해 Spectogram을 나타내보겠습니다. 먼저 STFT는 주파수 특성이 시간에 따라 달라지는 소리를 분석하기 위한 방법입니다. 시계열 일정한 시간 구간으로 나누고 각 구간에 대해 스펙트럼을 구합니다. Spectrum은 FFT를 한번만 했다면 Spectrogram은 시간에 따른 여러 번의 FFT를 통해서 시간에 따른 주파수 변화를 나타냅니다.

4

Mel-Spectrogram

5

멜-스펙트로그램 역시 마찬가지로 STFT를 통해 스펙트로그램으로 변환합니다. 스펙트로그램에서 주파수의 단위를 위의 공식에 따라 멜 단위(Mel unit)로 바꾼 스펙트럼이 멜-스펙트로그램입니다. 멜-스케일은 이러한 Pitch에서 발견한 사람의 음을 인지하는 기준(threshold)을 반영한 스케일 변환 함수입니다.

6

7

멜-필터뱅크는 멜-스케일에서 linear하게 구간을 N개로 나누어 구현한 triangular filter(=triangular windw)를 가리킵니다. 주파수 영역에서 보면 지수적으로 넓어지는 것을 확인할 수 있습니다.

이상으로 소리의 시각화 방법으로 스펙트럼, 스펙트로그램, 멜-스펙트로그램에 대해 간단히 알아보았습니다.


참고 자료

업데이트: