본문 바로가기
컴퓨터알기

사운드 레이턴시 줄이기, DAW 및 방송 설정 방법

by Richmind 2022. 9. 1.
반응형

홈레코딩을 하거나 개인 방송을 하시는 분들은 모니터링 레이턴시에 민감할 수밖에 없죠. 그 이유는 DAW에서 플러그인(PLUG-IN) 기능을 이용하게 되면 내 마이크 소리의 입력이 출력으로 나오기 전에 플러그인의 오디오 프로세싱(PROCESSING)을 거치게 됨으로 오디오 처리에 필요한 만큼의 지연시간(Delay Time)이 생기게 됩니다. 이것이 레이턴시의 뜻입니다. 그래서 내가 마이크로 말하는 소리를 모니터링 시 즉각적으로 들리지 않고 약간의 딜레이가 발생하게 됩니다. 이렇게 되면 녹음 시 싱크를 맞추기 굉장히 어렵게 되는 문제가 발생합니다. 

 

마이크로 입력되는 소리뿐만 아니라 마스터 키보드 입력(MIDI) 시에도 똑같은 문제가 발생할 수 있습니다. 그래서 믹싱 레이턴시를 낮추는 노력을 하게 되는데, 이 때문에 ASIO 드라이버를 지원하는 오디오 인터페이스를 사용하게 됩니다. 하지만 저는 오디오 인터페이스 없이 컴퓨터 사운드카드를 사용하여 LOW 레이턴시를 구현해서 사용하고 있습니다. 그래서 오늘 그 방법을 공유해 드리겠습니다.

 

DAW에서 오디오 디바이스 LATENCY 설정

 

WASAPI-SHARED-모드-버터사이즈-조절불가

위 사진은 제가 사용 중인 케이크워크 디바이스 믹싱 레이턴스(MIXING LATENCY ) 설정 화면입니다. 현재 아무런 설정도 만지지 않은 상태인데 버퍼 사이즈는 480 SAMPLES이고 레이턴시가 48kHz에서 10 msec로 굉장히 낮은 상태입니다. 제 사운드 카드 드라이버가 리얼텍 사운드카드 최신 버전이고, 메인보드의 리얼텍 사운드 카드 칩셋이 상위급이라서 일단 기본 레이턴시가 우수합니다.

 

 

WASAPI-EXCLUSIVE-모드-버터사이즈-조절가능

하지만 메인보드의 사운드카드 칩셋 종류와 CPU 성능에 따라 많은 분들이 버퍼 사이즈 48000 rate에서 480 samples 조건으로 세팅 시 10 msec 이하로 나오기 힘드실 겁니다. 참고로 레이턴시는 수치가 낮을수록 좋은 겁니다. 이럴 때 바꿔주어야 할 부분이 아래 사진처럼 WASAPI Exclusive 모드입니다. 

 

본인이 사용하는 DAW에 따라 세팅 방법이 약간씩 다르니 PREFERENCES 안에 오디오 디바이스 설정에 들어가서 확인해보면 Driver mode에서 wasapi shared 모드 혹은 exclusive 모드를 선택할 수 있습니다. 물론 오인페가 있으면 asio 모드로 선택하시면 되겠죠.

 

 

 

 

자 이제 아래 사진이 익스클루시브 모드를 선택 후 다시 레이턴시 설정 화면으로 돌아왔습니다. 이제 버퍼 사이즈를 본인의 목적에 맞게 낮추거나 높일 수가 있게 됩니다. 버퍼 사이즈가 작을수록 후처리 하는 데이터양이 감소함으로 프로세싱 속도가 빨라지기 때문에 레이턴시가 줄이기가 가능합니다.

 

이 버퍼 사이즈를 늘리면 시피유 사용량이 줄어들고, 반대로 버퍼 사이즈를 늘리면 시피유 사용량이 증가합니다. 그래서 CPU 성능이 좋은 최신 컴퓨터를 쓰고 계신 분들은 오디오 인터페이스 없이도 로우 레이턴시 작업이 가능합니다.

 

 

제 설정 상태는 264 SAMPLES에서 5.5 msec 레이턴시로 사용 중입니다. 이렇게 레이턴시를 줄이고 나서 실제 daw cpu 사용량을 체크해 보았습니다. 제가 총 4개 채널의 오디오와 1개의 미디 신호를 녹음하고 각각의 채널별 이펙티브 플러그인을 사용했을 시에 cpu 이용률이 15% 내외에서 움직입니다. 채널 한 개를 추가해도 cpu 사용률이 16% 정도뿐이 안되는 것을 확인하였습니다.

 

daw-미사용시-cpu이용률

제 시피유는 6 코어 12 스레드인 i5-10400입니다. 이 정도의 cpu성능이라면 레이턴시를 줄이는데 충분한 컴퓨터 사양입니다.

 

레이턴시줄인후-cpu-사용률

익스클루시브 모드란 사운드카드를 다른 애플리케이션이 사용하지 못하게 하고 해당 프로그램(daw 나 방송프로그램)이 독점적으로 사운드카드를 제어하는 기술입니다. 그래서 버퍼 사이즈를 조절이 가능하게 되고 처리 속도가 빨라지게 됩니다.

 

그런데 익스클루시브 모드로 설정 시 개인 방송하시는 분들은 다른 방송용 프로그램에서도 동시에 사운드 카드를 제어할 필요가 있습니다. 그럴 땐 wasapi shared 모드로 사용하시면 됩니다.

 

wasapi 모드는 wdm 방식에 비해 월등히 빠르게 컴퓨터 사운드 카드를 제어하는 방식입니다. 그래서 기본적인 레이턴시가 낮아 오디오 인터페이스 없이도 홈 리코딩이나 방송이 원활하게 가능합니다. 물론 오디오 인터페이스가 있어야 좋은 마이크를 사용할 수 있는 등 여러 가지 장점이 많습니다.

 

윈도우가 오디오를 처리하는 다이어그램을 보고 원리 파악하기

window-audio-stack-diagram(microsoft.com)

위 사진은 윈도우(MS Window)가 daw에서 사운드카드에 이르기까지 오디오를 처리하는 순서를 알려주는 다이어그램입니다. Application으로 표시된 부분이 daw이고 Audio Engine이 daw 프로세스와 플러그인으로 생각하시면 됩니다. 버퍼를 거쳐서 사운드카드 드라이버 밑에 사운드카드 하드웨어로 실제 이펙트가 걸린 소리가 출력됩니다.

 

이전 윈도우 버전에서는 wdm으로 사운드 카드를 제어하였으나, 위도우 10 이후부터 사운드카드 제어 속도를 크게 향상시키게 되는데 바로 위에서 설명드린 wasapi입니다. Window Audio Session API의 약자입니다. 레이턴시를 획기적으로 줄이는 효과를 발휘합니다.

 

아래 링크는 마이크로소프트 Low Latency Audio에 관한 영문 페이지입니다. 프로그래머 분들이 참고할 수 있는 C++ api 정보도 포함하고 있습니다.

https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/low-latency-audio

 

Low Latency Audio - Windows drivers

This topic discusses audio latency changes in Windows 10. It covers API options for application developers as well as changes in drivers that can be made to support low latency audio.

docs.microsoft.com

 

오늘은 오디오 레이턴시 줄이는 방법을 기본 원리와 함께 알아보았습니다. 이 원리를 알아두면 어떤 프로그램에서도 쉽게 낮은 레이턴시 적용이 가능해집니다.

 

반응형

댓글