STUDY_SEONMIN
DAY50 - 사운드 데이터 다루기 본문
"소리"라는 것은 공기를 구성하는 입자들이 진동하는 현상인데, 이러한 공기의 진동을 측정하는 양적인 기준을 "음압"이라고 합니다.
사운드 데이터라는 것은 이러한 음압의 변화를 기록한 시계열 데이터입니다.
보통 사운드 데이터를 나타내는 시계열 데이터 중 가장 기본적인 형태로는 "사인 함수"를 사용합니다.
사인함수
- 사운드 데이터를 나타낼 때 사인 함수는 3가지 특징을 가집니다.
1) 진폭(A) : 위 아래로 움직이는 폭 => 소리의 크기
2) 주파수(f) : 진동 속도 => 소리의 높낮이
3) 위상($\phi$) : 사인 함수의 시작 시점 => 위상의 차이 = 소리의 시간차
- 사인함수를 수식으로 나타내면 다음과 같습니다.
$$ A\sin(2\pi ft - \phi),\quad \text{t : 시간(초)} $$
- 파이썬에서 사인함수를 표현할 때에는 결국에는 유한한 데이터들로 표현해야 하는데 보통은 1초당 44100개의 샘플 데이터를 이용합니다.
싱글톤
- 하나의 사인파로 이루어진 소리
- 여러 시간에 걸쳐 계속 동일한 진폭과 주파수를 갖기 때문에 우리가 들을 때는 '삐-' 형태의 기계음으로 들립니다.
이렇게 만든 사인함수를 사운드 데이터로 만들어 듣기 위해서는 IPython.display의 Audio와 display 함수를 이용합니다.
- 만약 여러 높낮이의 소리를 섞어 내고 싶다면 각각의 소리에 해당하는 사인 함수를 만들어 더해주면 됩니다.
ex) 3도 화음(도, 미, 솔) 소리
도 : 261.62Hz
미 : 261.62 * $2^{\frac{4}{12}}$ Hz
솔 : 261.62 * $2^{\frac{7}{12}}$ Hz
위 그림을 보면 싱글톤일 때와는 달리 우리가 일반적으로 생각하는 사인함수의 모양이 아닌 다른 모양이 나왔습니다.
실제로 일상 생활 속에서는 소리들은 하나의 음이 지속되는 것이 아니라 여러 음이 섞여있게 됩니다.
그래서 실제 사운드 데이터는 위보다도 더 복잡한 형태의 모양을 나타내게 되는데 위의 예시가 사인함수의 합으로 나타내진 것과 같이 일상 생활 속에서의 소리들도 무작위 패턴이 아니라 사실은 여러 사인함수들의 합으로 이루어졌다는 것을 명심해야 합니다.
'EDUCATION > DSS Online 6기' 카테고리의 다른 글
DAY51 - 분류 모형 (0) | 2021.04.01 |
---|---|
DAY50 - 사운드 데이터 다루기2 (0) | 2021.04.01 |
DAY49 - 이미지 데이터 다루기2 (0) | 2021.03.25 |
DAY48 - 이미지 데이터 다루기 (0) | 2021.03.24 |
DAY47 - 확률론적 언어모형 (0) | 2021.03.23 |