2011-10-10 2 views
0

저는 Window 7의 작은 소프트웨어 오디오 신시사이저와 같은 것을 C++로 작성하고 있습니다. 핵심 엔진이 실행 중이고 미디 이벤트를 수신하면 메모, 변경 프로그램 등을 재생합니다. 현재 나에게 어떤 문제가 발생하는지는 출력 채널의 0dB 기준 음압 레벨을 어디에 두어야하는지입니다.절대 플로트 값으로 0dB 사운드 레벨의 기본값

신시사이저가 진폭이 | 0.5f | 인 440Hz의 사인파를 생성한다고 가정 해 봅시다. . db의 사운드 레벨을 계산하려면 참조 레벨 (0 db)을 설정해야합니다. 누구든지 이것에 대한 기본값과 같은 것을 알고 있습니까?

답변

3

풀 스케일에 대한 데시벨이 문제가되는 경우, AKA dBFS, 제로 dB가 가능한 최대 디지털 레벨에 할당됩니다. 위키의 견적 :

0 dBFS는 가능한 최대 디지털 레벨에 할당됩니다. [1] 예를 들어, 의 경우, 임의의 지점 에서 최대 레벨의 50 %에 도달하는 신호는 -6dBFS, 즉 풀 스케일보다 6dB에서 피크가 될 것이다. 모든 최대 값 은 디지털 값이 최대 값 인 에 도달하지 않으면 음수가됩니다.

+0

0dB 풀 스케일은 0dB SPL (음압 레벨)과 동일하지 않습니다. –

+0

@Paul, 당신이 맞는지 확인하십시오. 이 외에도, EBU R 128 사양 http://tech.ebu.ch/loudness에 지정된 라우드니스 레벨 메트릭을 고려할 것을 제안합니다. –

1

먼저 단위에 대해 명확히해야합니다. dB 자체는 비율이이며 절대 값은 아닙니다. @Roman R.이 제안했듯이, 0dB을 사용하여 "풀 스케일"을 의미 할 수 있으며 범위는 0dB (최대)에서 원하는 음의 최소값 (예 : -120 dB). 그러나 이는 신호의 절대 값에 관해 알려주지 않는 임의 측정입니다.

이 (SPL = Sound Pressure Level) 인 것을 확인 했는데도 인 절대 단위. 0 dB SPL은 일반적으로 인간의 청력 역치 인 20 μPa (RMS)로 정의되며,이 경우 관심 범위는 +120 dB SPL을 말하기 위해 -20 dB SPL이라고 할 수 있습니다. 그러나 실제로 임의의 dB 값뿐만 아니라 dB SPL을 측정하려는 경우 마이크 게인, 마이크 주파수 응답, A-D 민감도/게인 및 기타 여러 요인을 고려하여 시스템을 보정해야합니다. 이것은 중요하지 않지만 SPL 측정 시스템을 실제로 구현하려는 경우 필수적입니다.

+0

정확한 답변을 보내 주셔서 감사합니다. 나는 acustical 측정 시스템으로 작업하는 것의 대부분을 알고 있습니다. 내가 실제로 의미했던 dBFS라는 용어는 마음에 들지 않았으므로 여기서 물었습니다. –