AI/signal

소리 ( Signal / Sound / Wave / Vibration )의 세기와 높낮이

hadaney 2020. 3. 29. 15:27

소음분석 프로젝트를 진행중이다.

관련 개념을 정리해보고자 한다.

 

소리는 높다/낮다(dB) 크다/작다(Hz) 로 설명할 수 있다.

 

그렇다. 오늘은 dB과 Hz에 대해서 얘기하겠다.

참고로 이 블로그는 ML/DL/IT에 대한 각종 이야기를 적는 곳이 맞다

https://freesound.org/people/klankbeeld/sounds/511066/

1) 소리의 세기 dB (데시벨)

 : 소리의 압력을 수치화한 단위가 dB이다.

 - 사람이 들을 수 있는 가장 작은 소리는 0dB이며, 120-130dB을 넘으면 견디기 힘들 정도로 시끄러운 소리가 된다.

 - 사람의 숨소리는 10dB 정도, 대화하는 소리는 40-60dB 정도이다.

 

2) 소리의 높낮이 Hz ( 헤르츠)

 : 소리의 음색을 나타내는 단위는 Hz이다

 - Hz는 주파수(frequency)를 나타내는 단위이다. 즉, 소리의 음색은 1초에 통과하는 파동 수(주파수)에 달려있다.

 - Hz가 높을수록 높은 소리이며, 사람이 들을 수 있는 소리는 20-20,000Hz이며, 이를 가청 주파수라고 한다.

- Hz별로 들어보고 싶다면, 다음 사이트를 참고하자. https://www.szynalski.com/tone-generator/

 

Online Tone Generator - generate pure tones of any frequency

Play Download --> Support this site » ×½ ×2 Get link To change the frequency, drag the slider or press ← → (arrow keys). To adjust the frequency by 1 Hz, use the buttons or press Shift + ← and Shift + →. To adjust the frequency by 0.01 Hz, press Ctrl + ← a

www.szynalski.com

 

한단계 더 나아가면...

 

cf) 또다른 주파수를 나타내는 단위로
  RPM : 분당 회전수 (revolutions per minute)이 있다.

 - 1 RPM = 1/60 Hz 이다. rpm은 분당 측정하고, hz는 초당 측정하기 때문.

 - 모든 회전체의 회전수를 나타낼 때 쓴다. 소리와 달리 주파수가 낮은(느리게 떨리는) 자동차 엔진 회전수, 하드디스크 속도 등을 나타내게 된다.

 

 

 

cf) 사실 데시벨은 기준대비 어느정도 큰 소리인가를 나타내는 단위로 상대적인 값이다.

데시벨의 식을 보면,

으로, P0을 기준값으로 넣고, P1에 측정하고자 하는 소리가 들어간다. 즉, P0대비 측정하고자하는 소리의 값을 나타낸다고 할 수 있다. 보통 기준값은 사람이 듣는 가장 작은 소리 

 0.000 2 dyn/㎠=20 μ㎩을 쓴다. 그래서 전기/전파와 같이 특정분야에서는 wave를 측정할 때 기준값을 두지 않고, 절대단위를 통해 dB을 나태내는데, dBm, dBV 등이 이에 해당한다.

 

 

cf) dB의 여러 표현

 이게 Power(전력)으로 dB을 나타낸 것이고,

 

이것이 Amplitude(전압)으로 dB을 표현한 것입니다. 

전력과 전압의 관계식에 따라 이렇게 표현이 가능합니다.

librosa (wave관련 python라이브러리죠) 를 사용하다보면, db_to_power, db_to_amplitude function을 볼 수 있습니다.

이제 이것들이 db의 표현방식에 따른 것이라고 말할 수 있겠죠?