[사운드 원리] 디지털에서 클립핑이 발생하는 이유 - Whitmem
[사운드 원리] 디지털에서 클립핑이 발생하는 이유
Sound Development
2023-04-09 04:49 게시 de5eb02543f592eea045

0
0
121
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
디지털에서 클립핑이 발생하는 이유
음악 프로그램이나, 디지털 음악 파형 작업을 하다보면, 클립핑이 발생하는 경우가 발생합니다. 왜 이러한 문제가 발생하는지, 어떠한 원리로 발생하는지에 대해 디지털 원리로 알아봅니다.
이유
Audacity 소프트웨어에서 파형을 생성한 모습
기본적으로 파형은 음압, 진폭을 나타내는 아날로그 정보입니다. 만약 위 사진보다 높은 진폭의 파형을 담아야 하는 경우 마음대로 파형을 그려볼 수는 있겠습니다.
임의 파형
하지만 실제로 이러한 데이터는 컴퓨터의 데이터로 담아야하며, 이러한 데이터의 정보는 규격화되어 있습니다. 예를 들어 wav 파일의 경우 보통 16bit 44100hz samplerate의 오디오 형식을 많이 사용합니다. 여기서 본문의 내용은 16bit와 큰 관련이 있는데, 16bit는 하나의 오디오 샘플, 즉 파형의 위치 데이터를 16bit의 크기로 저장한다는 의미입니다.
16비트는 바이트로 환산하면 2바이트로, 영문자 2글자에 해당하는 크기입니다. 이러한 크기는 1바이트당 256개의 신호를 가질 수 있으므로, 2바이트의 크기인 "256*256"개의 신호를 담을 수 있게 됩니다. 즉 65536개의 신호(끄거나 켜짐)을 담을 수 있는 것이며, 10진수로 나타낸다면, 0부터 65535 까지만 표현할 수 있습니다.
기본적으로 파형의 진폭은 -1부터 +1까지로 표현합니다. 즉 디지털상에 나타내기 위해서는 0~65535까지 크기의 제한이 있기 때문에 진폭의 간격이 존재합니다. 그 간격을 정규화한 정도가 -1부터 1까지이며, -1부터 1까지를 0~65535까지로 표현하게 됩니다.
-1 부터 +1
예를 들어, -1 의 진폭을 가진 파형 데이터는 "0", +1의 진폭을 가진 파형 데이터는 "65535"가 됩니다. 0의 진폭을 가진 파형 데이터는 65535/2가 됩니다. 그렇기 때문에 그 과정에서 매우 세밀한 소수에 해당하는 파형 위치 데이터는 그나마 가까운 0~65535에 해당하는 어떤 사잇값의 데이터로 할당될 것이고, 그 과정에서 파형의 거의 알아보기 힘든 왜곡이 발생하게 됩니다.
그러면 다시 돌아와서, 16비트의 공간에는 0~65535 까지의 값만 담을 수 있으므로, -1 또는 +1을 벗어나는 파형 데이터는 초과해서 담을 수 없게 됩니다. 즉 최댓값인 65535 또는 최솟값인 0을 의미하는 바이트로 저장되며, 이는 결국 시각적으로 볼 때 클립핑된 결과물로 볼 수 밖에 없습니다. (또는 오버플로우가 발생하면 의도치 않은 소리 데이터가 되기도 합니다.)
클립핑된 소리 파형
실생활에서 느낄 수 있는 부분
그렇기 때문에, 우리가 보통 스피커의 볼륨을 10%로 해두고, 컴퓨터에서 100%를 초과한 150%라든지, 강제 증폭 프로그램으로 소리를 강제로 높이게 되면, "소리 째짐"현상이 발생하는 이유가 디지털적으로 강제로 진폭을 늘린 것이기 때문에 데이터의 크기를 벗어난 파형 데이터는 -1, +1로 고정되어 손실됩니다. 그 결과 클립핑으로 들리게 되는 것이지요. 이런 경우에는 실제 스피커 소리가 엄청 작더라도 소리는 클립핑된 소리로, 즉 째진 소리로 들리게 됩니다. 반면 하드웨어적으로 앰프를 통해서는 얼마든지 크게 소리를 늘리더라도 클립핑은 발생하지 않는 것이죠, 하드웨어로 직접 늘리는 것은 데이터와 관련이 없기 때문입니다. (데이터로 처리하지 않는 기기에 한하여)
댓글 0개
댓글은 일회용 패스워드가 발급되며 사이트 이용 약관에 동의로 간주됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.