사용자 도구

사이트 도구


정승환_컬럼:32bit_floating_conversion_and_others
[홈레코딩 필독서]"모두의 홈레코딩"구매링크
가성비 있는 녹음실 찾으시나요? 리버사이드 재즈 스튜디오에서 녹음하세요!

32비트 부동소수점 및 기타 변환

32비트 부동소수오디오 포맷은 매우 높은 다이내믹 레인지와 사용의 편리함을 제공하는 것으로 보인다. 그러나 한계는 존재한다! 이 글은 고비트 해상도 마이크 녹음에 대해 탐구하고 그 한계를 다룬다. 전문 또는 준전문용 레코더컨버터 중에는 32비트 부동소수점(파일) 포맷을 사용하는 제품이 다양하다. 이러한 솔루션은 더 이상 게인 설정에 신경 쓸 필요가 없다고 암시하곤 한다. 하지만 이것은 부분적으로만 맞는 말이다 — 입력 가능한 최대 아날로그 레벨에는 한계가 있다.

결론: 마이크가 기본적인 음질을 결정한다. 고범위 디지털 변환(예: 이른바 32비트 부동소수점 포맷)은 0 dBFS를 초과하여 녹음할 수 있게 해주지만(32비트 해상도로는 아님), 또한 최대 입력 허용치가 마이크의 최대 출력보다 높은지 확인해야 한다. 그렇지 않다면 레코더마이크를 교체하는 것을 고려해야 한다.

녹음오디오 체인의 각 링크의 품질을 최대화하는 것은 항상 도전이었다. 디지털 영역에서는 샘플당 더 많은 비트를 할당하고 더 높은 샘플링 속도를 사용함으로써 고해상도를 달성한다. 그러나 높은 해상도는 더 많은 저장 공간을 필요로 하므로 제한된 비트 예산의 문제가 발생할 수 있다.

또 다른 문제는 아날로그 입력게인 설정이다. 과거에는 프리앰프, 컨버터, 레코더, 믹서 또는 무선 송신기 같은 모든 오디오 장치에서 이것이 가장 중요한 설정이었다. 오늘날에는 입력단에서 32비트 부동소수컨버터를 사용할 때는 상관없다고 생각할 수도 있다. 적어도 그렇게 들은 적이 있을 것이다.

오늘날 입력단에서 32비트 부동소수컨버터로 작업할 때는 더 이상 상관없다고 한다. 그러나 그것은 완전히 사실은 아니다.

32비트 부동소수점 오디오의 차이점은 무엇인가?

보통 고정소수점 변환에서는 샘플비트 수가 이론적인 다이내믹 레인지를 결정하며, 이는 해상도에 따라 비트당 약 6dB로 계산된다:

비트방식해상도(스텝 수)다이내믹 레인지
8비트고정소수점28 = 2568 * 6 = 48dB
16비트고정소수점216 = 65,53616 * 6 = 96dB
24비트고정소수점224 = 16,777,21624 * 6 = 144dB
32비트고정소수점232 = 4,294,967,29632 * 6 = 192dB

현실적으로는 부품 공차, 열 조건 및 기타 요인으로 인해 진정한 32비트 변환으로 완전한 32비트 해상도를 구현하는 것은 불가능하다. 실제 해상도가 20~22비트를 넘어서면 적용된 비트 수와 관계없이 선형성이 저하되거나 노이즈 변조 같은 부작용이 나타날 수 있다. 64비트 변환을 사용하더라도 오디오 품질은 동일하지만, 워크플로에서 사용되는 비트 수만 두 배로 늘어난다! 또한 음향적으로도 192dB 다이내믹 레인지는 필요하지 않다. 공기 중의 최대 다이내믹 레인지는 청력 임계치(0 dB SPL)에서 공기의 왜곡이 시작되는 지점, 즉 음파음압이 절대 진공에 도달하는 시점까지로, 이론적으로는 약 191 dB SPL피크에 해당한다. 그러나 실제로는 그보다 훨씬 낮은 음압에서 이미 공기가 음파왜곡하기 시작하며, 극단적인 SPL에서 음파의 양(+)과 음(-) 구간에서 음속이 달라지기 때문이다.

또한 마이크다이내믹 레인지는 거의 항상 130 dB 이하이다.

부동소수점 방식에서는 이론적으로 다이내믹 레인지가 1528 dB에 이를 수 있는데, 이는 말도 안 되게 높은 수치이며 실제로는 불가능하다. 32비트 부동소수오디오는 현실이라기보다는 ‘개념’에 가깝다.

이 개념이 도입된 이유는 오디오의 스케일 조정을 가능하게 하기 위함이다. 하나의 고정소수점 방식으로는 감당할 수 없는 넓은 다이내믹 레인지에서 왜곡의 위험을 훨씬 줄이며 녹음할 수 있도록, 변환 구간을 겹치게 설계하는 것이다.

32비트 부동소수점 포맷은 샘플당 32비트를 사용하지만, 비트 배열은 선형 포맷과 다르다(팩트 박스 1 참고). 구성은 IEEE 754 표준을 따른다. 이 중 23비트신호를 기술하는 유효 비트이며, 8비트샘플의 스케일링 팩터를 나타내는 지수 비트로 사용된다. 마지막 1비트는 부호 비트로, 샘플링 시점의 파형이 양(+)인지 음(-)인지를 표시한다.

실제 "32비트 부동소수점" 솔루션

실제로는 32비트 부동소수점 파일 포맷을 사용하는 레코더들이 “자유 부동소수점” 컨버터를 사용하는 것은 아니다. 파일 포맷은 예를 들어 고레벨용과 저레벨용으로 최적화된 두 개의 컨버터를 병렬로 작동시키는 것을 허용한다. 지수를 이용해 어떤 컨버터를 선택할지 결정함으로써 왜곡이나 노이즈 마스킹 없이 최상의 신호 품질을 보장한다. 이러한 방식은 종종 멀티스테이지 컨버터라고 불린다. Sound Devices가 이의 한 버전을 특허로 보유하고 있다.

Illustration of principle of using 32-bit floating point (multistage) conversion. (Illustration idea by Tascam).그림 1

Illustration of principle of using 32-bit floating point (multistage) conversion. (Illustration idea by Tascam).그림 2

적층 컨버터

어느 정도까지는 더 많은 컨버터를 결합하는(스태킹) 기술은 디지털 마이크(진동판 움직임을 디지털 코드로 변환)에도 적용되는 기술이다. 또한 디지털 무선 송신기의 솔루션으로도 사용된다. (DPA N-series Transmitters가 이런 방식으로 작동한다.) 여기서 핵심은 두 컨버터 사이의 적절한 전환 지점을 찾아 크로스오버 아티팩트를 피하는 것이다.

(아날로그) 마이크용 입력단

대부분의 마이크아날로그이지만 대부분의 오디오 녹음 장치는 디지털이다. 따라서 마이크 자체가 궁극적으로 전체 다이내믹 레인지를 결정하지만, 아날로그에서 디지털로의 변환 과정에 초점을 맞추는 것이 필수적이다. 아날로그 마이크는 1: 마이크 감도와 2: 픽업 지점의 SPL에 따라 출력 전압을 생성한다. 다이내믹 레인지의 하단에서는 마이크 자체 노이즈가 최소 출력을 결정한다. 상단에서는 마이크가 처리할 수 있는 최대 SPL에서의 출력이 한계를 정한다. 입력단/컨버터의 목표는 저레벨에서 낮은 노이즈와 적절한 해상도를 제공하는 동시에, 클리핑 직전의 고레벨에서 왜곡 없는 변환을 보장하는 것이다. (기억하라, 선형 디지털 시스템에서는 왜곡이 보통 저레벨에서 가장 높고 고레벨에서 가장 낮다 — 0 dBFS 클리핑 지점에 도달할 때까지). 대부분의 실제 32비트 부동소수컨버터다이내믹 레인지는 130~142 dB 범위에 있다.

최대 입력 레벨

앞서 언급했듯이, 시장에 나와 있는 다양한 전문 및 준전문용 레코더, 컨버터, 믹싱 콘솔이 32비트 부동소수점(파일) 포맷을 사용한다. 이러한 솔루션들은 종종 게인 설정에 신경 쓸 필요가 없다고 하지만, 입력에 적용할 수 있는 최대 아날로그 레벨에는 한계가 있다. 스펙에서 마이크 입력에 대한 “입력 레벨”이나 “최대 입력 레벨” 등의 데이터를 찾아봐야 한다. 때로는 데이터가 공개되지 않아 직접 확인해야 한다(팩트 박스 2 참조). 만약 마이크 출력이 이러한 레벨을 초과하면 오디오클리핑된다. 다양한 상용 장치의 최대 허용 입력 예시는 다음과 같다:

브랜드/모델 최대 입력
Tascam DR-07XP2, 2채널 32비트 플로트 핸드헬드 레코더:-4 dBu (0.63 볼트)
Tascam FR-AV2, 전문 2채널 필드 레코더+4 dBu (1.23 볼트)
Zoom F3, 필드 레코더+4 dBu (1.23 볼트)
Zoom UAC 232 (인터페이스)+6 dBu (1.55 볼트)
Sound Devices MixPre-2/3/10 II+14 dBu (3.88 볼트)
Stagetec XMIC+ 32비트 고정소수점 컨버터+24 dBu (12.28 볼트)

표에서 보듯 모든 시스템에 한계가 있지만 그 정도는 상당히 다르다. Stagetec XMIC+는 158 dB다이내믹 레인지를 제공한다(196 dB라고 예상할 수 있겠지만). 그러나 이 장치가 허용하는 최대 입력은 어떤 표준 마이크도 생성할 수 있는 수준을 훨씬 초과한다.

DPA 마이크와 32비트 부동소수점 입력

아래 다이어그램에서는 관련 DPA 마이크들이 최대 출력 레벨에 따라 제시되며, 이는 각각 1% THD(녹색 막대)와 10% THD(빨간 막대)에서 정의된다. 또한 다이어그램에서는 앞서 언급한 장치들의 최대 허용 입력을 확인할 수 있다(점선 수직선, 장치 A, B, C, D, E). 단위: dBu (0 dBu = 0.775 V).

https://www.dpamicrophones.com/mic-university/technology/32-bit-floating-point-and-other-conversions/?utm_medium=post&utm_source=facebook&utm_campaign=mic-uni&utm_content=mic-uni-conversions그림 3

이 다이어그램에서 녹색과 빨간 막대는 마이크의 최대 출력을 보여준다. 최대치는 각각 1% THD(녹색 막대)와 10% THD(빨간 막대)에서 정의된다. 수직선들은 선택된 장치들의 마이크 입력에서 허용되는 최대 레벨을 나타낸다.

  • A: Tascam DR-07XP2.
  • B: Zoom F3, Tascam FR-AV2.
  • C: Zoom UAC 232.
  • D: Sound Devices MixPre-3.
  • E: Stagetec XMIC+

예를 들어, 2017 Shotgun Microphone은 극도로 높은 레벨출력할 수 있다. 이 마이크를 A 타입 레코더와 함께 사용하는 것은 권장되지 않는다. DPA 2012와 DPA 2015도 마찬가지다.

0 dBFS는 어디에 있는가?

입력 감도는 또 다른 중요한 척도다. 어떤 아날로그 레벨이 0 dBFS에 해당하는가? 입력 설정에 신경 쓸 필요가 없다면 이는 불필요한 보너스 정보라고 여겨질 수 있다. 데이터는 거의 공개되지 않는다. 그러나 이는 장치의 레벨 설정을 나타내며, 측정 가능한 스펙이다. (팩트 박스 3 참조). 다음은 예시다:

브랜드/모델0 dBFS에 대한 아날로그 레벨
Zoom F3, 필드 레코더-26 dBu (39 mV)

파일 다루기

32비트 부동소수오디오WAV 파일 포맷으로 저장될 수 있다. 파일 헤더에는 포맷이 고정소수점인지 IEEE 754 부동소수오디오(단정밀도) 파일 포맷을 따르는지를 나타내는 비트가 포함된다. 각 샘플은 32비트로 표현된다. 이는 장치가 이미 파일에 포함할 스테이지/변환을 결정했다는 의미다. 서로 다른 샘플 레벨을 선택할 수는 없다. DAW에 파일을 불러오면 0 dBFS를 초과하여 녹음된 경우 클리핑된 파일로 보일 수 있다(표시만 제한되어 있을 뿐이다). 그러나 왜곡 없는 고정소수점 오디오를 얻으려면 노멀라이징이 필요하며, 이는 대부분의 DAW에서 표준 프로세스다. 한 번 노멀라이징하고 고정소수점 포맷으로 저장하면 부동소수점 표현이 사라지고 노멀라이징을 되돌수 없다. 항상 원본 녹음 파일을 덮어쓰지 않도록 주의하라. 나중에 이 자료를 다시 검토해야 할 수도 있다. 예시: Audition에서 열린 32비트 부동소수WAV 파일. Zoom F3 마이크 입력에서 1kHz 사인파 버스트 5개를 녹음했다. 녹음레벨: 각각 1, 1.1, 1.2, 1.3, 1.4 볼트.

A: 32-bit floating-point WAV file opened in waveform view. The waveform exceeds 0 dBFS. (Usually, the scaling of the waveform view is max 0 dBFS by default).그림 4

B: Waveform view with amplitude scale expanded.그림 5

녹음된 최대치는 약 +30 dBFS로 읽힌다. 첫 번째 톤 버스트에서 네 번째까지는 약간의 레벨 증가가 있다. 그러나 네 번째에서 다섯 번째로는 레벨 증가가 없다(클리핑 때문).

C: Waveform normalized to -1 dBFS.그림 6

교정

절대 레벨녹음하거나 몰입형 오디오를 위해 여러 채널을 동시에 녹음할 계획이라면, 각 트랙에 알려진 레벨(0 dBFS 이하)의 교정 신호를 동일한 레벨녹음하는 것이 가장 좋다. 이렇게 하면 노멀라이징 게인 조정과 관계없이 녹음된 교정이 항상 접근 가능하다. 채널이 연동되지 않으면 노멀라이징이 채널마다 다를 수 있다. 마이크에 맞는 피팅이 있다면 음향 교정기(보통 94 dB SPL, 1000 Hz)를 사용할 수 있다. 음향 교정기를 사용할 수 없다면, 마이크 감도가 동일하다면 톤 제너레이터를 사용할 수 있다. 가장 실용적인 옵션은 고정 주파수와 고정 전기 레벨을 가진 작은 사인파 제너레이터로, XLR 커넥터 크기 정도다. 시장에는 다양한 버전이 있다. 이러한 장치는 보통 배터리나 마이크 입력팬텀 파워로 구동되는 소형 장치다.

결론

마이크 입력에 32비트 부동소수점 변환을 사용하는 것은 워크플로에서 32비트 파일을 사용하는 것을 꺼리지 않는다면 실용적인 선택이 될 수 있다. 대부분의 경우 마이크가 최상의 성능을 발휘할 수 있게 해주지만, 마이크의 본질적인 품질을 향상시키지는 못한다. 실제로 입력의 주요 한계는 클리핑이 발생하기 전의 최대 아날로그 레벨이다. 그 이하에서는 보통 마이크 자체의 한계, 즉 최대 출력 레벨과 자체 노이즈가 제한을 정한다. 파일 포맷은 여러 부동소수점 전략에 적용된다. 그러나 IEEE 754 규격에 맞는 웨이브 파일로 처음 포맷팅될 때 모든 파일은 동일하게 동작한다. 최상의 녹음을 얻으려면 모든 좋은 옛 규칙들이 여전히 적용된다: 작업에서 대충하지 마라. 입력이 모든 마이크 출력(juice)을 감당할 수 있도록 확보하라!

Reference

Readings

부동소수점 오디오 파일 포맷 (IEEE 754)

IEEE 기관(IEEE, Institute of Electrical and Electronics Engineers)은 32비트 부동소수점 파일 포맷에 대한 표준을 만들었다. 각 샘플은 세 블록으로 나뉜다:

지수

지수는 8비트로 구성된다. 이는 00000000부터 11111111까지의 이진수를 제공한다. 10진수로는 0부터 255까지다.

“excess 127 형식”을 적용하면 음수 지수는 0~126, 양수 지수는 128~255 범위가 된다. 중간에 빠진 지수 127은 0의 거듭제곱을 나타낸다.

최대 입력 레벨 찾는 방법

사인파를 생성할 수 있는 톤 제너레이터를 사용하라. 단일 주파수(예: 1 kHz)를 녹음하고 전압을 기록하라. 0.5 볼트 정도에서 시작해 0.1 볼트 단위로 레벨을 올리라. 녹음DAW에 불러와 노멀라이징하라. 레벨 증가가 보이는지 확인하라. 보인다면 더 높은 레벨에서 시작해 절차를 반복하라. 파형에 증가가 나타나지 않을 때 최대 입력 레벨에 도달한 것이다.

0 dBFS 찾는 방법

알려진 아날로그 신호(예: 1 kHz 사인파, 10 mV)를 공급할 수 있는 톤 제너레이터를 사용하라. 이를 녹음하라.

DAW에서 웨이브 파일을 확인하고(노멀라이징하지 말고) dBFS 레벨을 읽어라. 레벨은 음수로 읽혀야 한다(예: -14 dB).

이 숫자와 0 사이의 dB 수를 계산하라. 예를 들어, 이 예시에서는 -14 dB에서 0 dB까지 = 14 dB.

dB에서 계산한 팩터제너레이터 레벨(10 mV)을 곱하라.

팩터: 10^([dB 숫자]/20),

이 예시에서는 팩터가 10^(14/20) = 5.012

이 예시에서 0 dBFS는 10 mV * 5.012 = 50.12 mV에 해당한다.

로그인하면 댓글을 남길 수 있습니다.

[공지]회원 가입 방법
[공지]글 작성 및 수정 방법

정승환_컬럼/32bit_floating_conversion_and_others.txt · 마지막으로 수정됨: 저자 정승환