DSP Tutorial – 레이턴시

레이턴시 (Latency)란 무엇일까? DAW 사용자라면 모두가 익숙할 이 개념은 다양한 어플리케이션과 상황 속에서 매우 자주 잘못 해석되는 경우가 많다.

작업에 사용할 컴퓨터의 사양을 고르는것부터 시작하여 다양한 상황에서 레이턴시를 알아봐야 하는데 우선적으로 이번 편에서는 Delay Compensation 기능을 중심에 놓고 설명해보려고 한다.

Digital Signal Processing 튜토리얼의 세번째 편, 레이턴시에 대하여 알아보자, 이전 편들은 아래의 링크를 통해 확인할 수 있다.

  1. 오디오 샘플레이트란?
  2. Audio Rate와 Control Rate


지연 시간 (Latency)

우리가 레이턴시에 관해 생각하게 되는 첫번째 관문은 Audio I/O 섹션이다.

흔히 조정하는 값인 버퍼 사이즈 (Buffer Size) 및 레이턴시 계산 값을 보여주는 섹션 (Logic Pro 에서는 Roundtrip Latency, Live의 경우 Overall Latency로 지칭되는 값)에 대해 알아보자.


버퍼사이즈의 샘플 크기는 두가지를 의미한다. 1. 얼마나 자주 오디오 버퍼 데이터를 DA 과정으로 옮겨 재생할것인가 2. 그 과정에서 발생하는 레이턴시의 길이를 결정한다.

간단히 말해, 모든 오디오 및 MIDI 트랙, 리턴 트랙이 합쳐진 후 최종적으로 마스터 버스를 통해 스피커로 출력되기까지의 시간을 ‘출력 레이턴시(Output Latency)’라고 한다.

대부분의 상황에서, 오디오 인터페이스나 콘솔의 다이렉트 모니터링 기능을 사용하지 않는 이상, 입력 레이턴시(Input Latency)를 독립적으로 체감하기는 어렵다. 실제로 오디오를 녹음하고 DAW에서 이를 모니터링하는 데까지 걸리는 시간이 바로 ‘전체 레이턴시(Overall Latency)’이다.

Live의 경우 I/O 디바이스를 동일한 오디오 인터페이스에서 가져오는 것이 아닌, 서로 다른 장비로 지정하는 것이 가능하기 때문에 이를 별도로 표시하는 것으로 추정된다. 비슷한 형태의 운용 방법으로는 Macos의 통합 오디오 장치가 있다.

결과적으로 시스템이 기본적으로 처리해야 하는 데이터의 크기 및 데이터 전송의 빈도수는 샘플레이트 설정에 따라 다르다. (Audio Rate와 Control Rate 문서를 참고할것)

영상의 프레임과 마찬가지로 디지털 오디오 시스템의 근간을 이루는 가장 작은 단위는 Sample이다.

오디오 셋업에 따라 다르겠지만 가장 짧은 오디오의 길이는 언제나 1 Sample이다. (오디오 샘플레이트란? 참고) I/O 섹션에 나타나는 레이턴시 길이는 샘플 단위가 아닌 ms로 변환한 처리 시간을 의미하는데, 이는 다음 주제인 트랙 레이턴시로 옮겨간다.


트랙 레이턴시

Live의 디바이스 창 위에 마우스를 호버링하는 경우 가장 아래 상태창에서 플러그인이 발생시키는 Latency를 확인할 수 있다.

녹음하는 빈도가 점점 줄고 ITB(In-the-Box) 작업이 일상화된 지금 자주 잊게 되는 기능중 하나가 Delay Compensation 또는 ADC (Automatic Delay Compensation)이다.

모든 오디오 트랙은 정확히 같은 시간에 마스터 버스에 도착하여 서밍되는 것을 원칙으로 한다. 따라서 실제 DAW 상의 오디오 트랙들이 실제로 영향받는 레이턴시는 전체 버퍼사이즈 뿐만 아니라 각 트랙에서 발생되는 레이턴시를 포함한다. 간단하게 말해서 한 트랙이 레이턴시를 과다하게 발생시키는 경우, 나머지 트랙들도 똑같은 지연 시간을 가져야 된다는 것이다.

신호를 자동차라고 생각한다면 오디오 플러그인들은 일종의 톨게이트로 생각할 수 있다. 여기서 레이턴시는 일종의 비용과 같다고 볼 수 있다. 디지털 신호 경로에 있는 모든 오디오 어플리케이션들은 정확하게 자기 자신을 통과하는데 발생하는 비용을 표시해야만 한다. 0 레이턴시로 표현되는 플러그인들은 플러그인을 거쳐가는 신호에 추가로 레이턴시를 부과하지 않는다는 의미이지, 처리시간이 0 이라는 뜻이 아니다.

오디오 플러그인을 다수 사용하여 믹스한 프로젝트에서 Delay Compensation 기능을 한번 해제해보면 어떤 상황이 벌어지는지 매우 쉽게 알 수 있다.

다음 장에서는 실제로 레이턴시를 발생시키는 플러그인이 DAW에게 지연 시간을 리턴하지 않는 경우 및 Linear Phase에 대해서 설명할 예정이다.


함께 읽기

지난 DSP Tutorial 읽기