개요
오디오 인사이트(AudioInsights)는 언리얼 엔진에서 오디오의 런타임 측면을 프로파일링하고 디버깅하고 모니터링할 수 있는 툴세트를 제공하는 엔진 플러그인입니다. 오디오 인사이트는 여러 개의 탭 창을 사용하여 라이브 게임플레이 중에 소스, 오디오 버스, 서브믹스 등 현재 피치, 볼륨 및 기타 파라미터 값에 대한 시각화와 숫자 값을 모두 제공할 수 있습니다. 독립형 게임 외에도 PIE 세션에 대한 정보를 제공할 수 있습니다.
퀵스타트
오디오 인사이트는 기본적으로 활성화되어 있습니다. 활성화하려면 언리얼 에디터에서 편집(Edit) > 플러그인(Plugins)을 선택하고 오디오 인사이트(AudioInsights) 플러그인을 활성화합니다. 플러그인을 로드하려면 지금 재시작(Restart Now)을 클릭해야 합니다.
프로젝트에서 활성화되면 에디터 창의 툴(Tools) 메뉴에서 오디오 인사이트를 선택하여 오디오 인사이트 창을 열 수 있습니다.
PIE 세션을 시작하면 오디오 엔진의 데이터로 오디오 인사이트 창이 채워지기 시작합니다. 오디오 인사이트는 언리얼 인사이트(UnrealInsights)를 사용하여 트레이스 녹화를 해야 하며, 오디오 인사이트 창을 열면 PIE 세션에 들어갈 때 자동으로 트레이스를 녹화하기 시작합니다. 오디오 인사이트는 탭으로 구성된 창이며 에디터의 어느 곳에나 도킹하여 편리하게 사용할 수 있습니다.
독립형 게임에서 오디오 인사이트를 사용하려면 언리얼 인사이트를 사용해야 합니다. 에디터 창의 오른쪽 하단에 있는 트레이스(Trace) 메뉴에서 언리얼 인사이트(세션 브라우저)(Unreal Insights (Session Browser))를 선택한 다음, 언리얼 인사이트가 시작되면 에디터를 종료합니다.
또는 명령줄에서 다음 명령으로 언리얼 인사이트를 실행할 수 있습니다.
/Engine/Binaries/Win64/UnrealInsights.exe -DisableFramerateThrottle
추가 플래그를 사용하면 포커스가 맞지 않을 때에도 언리얼 인사이트가 60fps로 실행됩니다. -Messaging 플래그를 사용하여 독립형 게임을 시작하고 연결(Connection) 탭을 사용하여 언리얼 인사이트에서 연결하고, 초기 채널(Initial channels) 필드에 쉼표 뒤 공백 없이 cpu,audio,audiomixer가 입력되었는지 확인한 다음 연결(Connect)을 클릭합니다.
그러면 현재 실행 중인 게임으로 연결됩니다. 트레이스 스토어 탭에서 LIVE라고 표시된 트레이스를 찾아 더블클릭하여 트레이스 세션 창을 불러옵니다. 메뉴(Menu)에서 오디오 인사이트(Audio Insights) 옵션을 선택합니다.
그러면 위의 PIE에 연결된 것과 유사한 오디오 인사이트 창이 나타납니다. 오디오 인사이트의 독립형 인스턴스에는 PIE로 작업할 때와 같은 메시징이 없으며, 사운드(Sounds), 소스(Sources), 가상 루프(Virtual Loops) 탭만 사용할 수 있습니다.
오디오 데이터 디테일 탭
화면에 표시된 탭은 오디오 인사이트 탭의 뷰 메뉴를 사용하여 구성할 수 있습니다.
디테일 탭은 오디오 인사이트 탭 내 어디에든 재배치할 수 있으며, 자유롭게 떠다니는 창으로 끌어낼 수도 있습니다. 레이아웃 리셋(Reset Layout)을 선택하면 혼란해진 탭의 제어 문제가 해결됩니다.
최상위 레벨 컨트롤:
PIE 중에만 오디오 신호 트레이스(Only trace audio signals during PIE): 오디오 인사이트는 언리얼 인사이트의 트레이싱 기능을 사용하며 이는 많은 데이터를 생성할 수 있습니다. 오디오 인사이트의 트레이스만 활성화하는 경우, 이 체크박스에 체크하면 오디오 인사이트로 세션을 모니터링하고 디버깅할 때 저장되는 데이터의 양이 줄어듭니다.
월드 필터(World Filter): 이 풀다운 메뉴는 에디터를 포함하여 현재 실행 중인 월드에서 오디오 데이터를 선택할 수 있는 옵션을 제공합니다.
로그 탭
로그(Log) 탭은 참고 중인 관련 오디오 정보를 함께 확인하는 동시에 언리얼 에디터 로그를 필터링하고 모니터링할 수 있는 또 다른 편리한 방법입니다. 이 데이터는 기본적으로 모든 오디오 관련 로그 카테고리를 표시하도록 설정되어 있지만, 원하는 로그 카테고리와 상세도를 포함하거나 제외하도록 필터를 변경할 수 있습니다.
사운드 탭
사운드(Sounds) 탭에는 현재 재생 중인 모든 사운드 에셋이 카테고리별로 나열되어 있으며, 각 에셋의 런타임 데이터가 텍스트로 표시됩니다. 재생 중인 사운드와 상호 작용하여 믹스의 엘리먼트를 뮤트하거나 솔로로 만들 수 있습니다. 사운드를 식별하는 데 사용되는 이름은 런타임 인스턴스 이름이 아닌 Uasset 이름입니다.
사운드 카테고리
메타사운드(MetaSound): 메타사운드 소스 에셋
사운드 큐(Sound Cue): 사운드 큐 및 모든 자손 사운드 웨이브
프로시저럴 소스(Procedural Source): 코드에서
USoundWaveProcedural을 상속하는 모든 믹서 입력 오브젝트사운드 웨이브(Sound Wave): 단순 웨이브 에셋
사운드 큐 템플릿(Sound Cue Template): 런타임 때 템플릿으로부터 빌드되는 사운드 큐
기타(Other): 오디오 소스 버스
데이터
뮤트(Muted): 이 사운드 인스턴스가 뮤트되었는지 표시합니다.
솔로(Soloed): 이 사운드 인스턴스가 솔로인지 표시합니다.
이름(Name): 런타임 인스턴스 이름이 아닌 사운드의
UAsset이름입니다.우선순위(Priority): 동시실행을 위해 설정되며, 양의 float 값으로 숫자가 클수록 우선순위가 높다는 뜻입니다.
거리(Distance): 사운드 렌더러와의 양수 거리로, 맵 단위로 표시합니다.
앰프(피크)(Amp (Peak)): 사운드 진폭을 추적하는 엔벨로프 팔로워의 값으로, 최대 출력 진폭에 적용되는 0.0~1.0의 float 값입니다.
볼륨(Volume): 이 사운드 인스턴스의 모든 볼륨 값과 모듈레이터의 합으로, 거리 어테뉴에이션을 포함하지 않으며, 선형 진폭 배수로 표현되는 양의 float 값입니다.
피치(Pitch): 이 사운드 인스턴스의 모든 피치 값과 모듈레이터의 합으로, 선형 재생 속도 배수로 표현되는 양의 float 값입니다.
집계(Aggregation): 여러 자손 사운드 웨이브가 포함된 사운드 큐 등의 계층적 오브젝트에서 사운드 큐 볼륨과 피치는 최상위 레벨 값을 표시하지만, 사운드 웨이브는 사운드 큐 최상위 레벨의 집계 값 그리고 사운드 큐 내에서 해당 사운드 웨이브에 발생한 다른 모든 변조 값을 표시합니다.
디스플레이 옵션
중지된 사운드 표시(Show Stopped): 이 옵션을 선택하면 최근에 중지된 사운드가 목록에 몇 초 동안 계속 회색으로 표시되어 짧은 사운드를 더 쉽게 관찰할 수 있습니다.
필터 카테고리(Filter Categories): 탭 헤더에 카테고리 버튼을 표시하여 목록에 나열된 사운드를 빠르게 필터링할 수 있습니다.
데이터 표시(Data Display): 헤더 표시줄을 우클릭하면 오디오 데이터를 표시하며 선택할 수 있는 옵션이 제공됩니다.
컨트롤
사운드 컨텍스트 메뉴(Sound Context Menu): 선택한 사운드를 우클릭하면 디스플레이 상단에 사운드를 고정(Pin)하거나, 콘텐츠 브라우저에서 에셋 탐색(Browse to Asset)을 하거나, 편집(Edit)을 클릭하여 이 창에서 에셋 에디터를 열 수 있습니다.
선택된 사운드 뮤트(Mute Selected): 목록에서 사운드를 선택한 상태에서 선택된 사운드 뮤트 버튼을 누르면 해당 사운드 에셋이 뮤트됩니다.
선택된 사운드 솔로(Solo Selected): 목록에서 사운드를 선택한 상태에서 선택된 사운드 솔로 버튼을 누르면 해당 사운드 에셋이 솔로가 됩니다.
모든 뮤트/솔로 지우기(Clear All Mutes/Solos): 디폴트 재생 믹스로 리셋합니다.
소스 탭
소스(Sources) 탭에는 오디오 믹서에 적용된 현재 모든 입력이 평면 목록으로 표시됩니다. 표시되는 에셋은 사운드 탭에 나열된 에셋과 일치하며 다른 오디오 데이터를 표시합니다.
표시된 데이터
재생 순서(Play Order): 단조적으로 증가하는 사운드 인스턴스 ID로, 믹서에서 사운드가 시작되는 순서를 나타냅니다.
이름(Name): 런타임 인스턴스 이름이 아닌
Uasset이름입니다.앰프(피크)(Amp (Peak)): 믹서 소스 진폭을 추적하는 엔벨로프 팔로워의 값입니다.
볼륨(Volume): 이 믹서 소스의 모든 볼륨 컨트롤과 모듈레이터의 합으로, 거리 어테뉴에이션을 포함하지 않으며, 선형 진폭 배수로 표현되는 양의 float 값입니다.
거리 어테뉴에이션(Distance Attenuation): 이 믹서 소스에서 사운드 렌더러까지의 거리에 따른 게인 배수로, 0.0~1.0 사이의 float 값입니다.
피치(Pitch): 이 믹서 소스의 모든 피치 컨트롤과 모듈레이터의 합으로, 선형 재생 속도 배수로 표현되는 양의 float 값입니다.
LPF: 이 믹서 소스의 모든 로우 패스 필터 컨트롤 및 모듈레이터의 합으로, 컷오프 주파수를 헤르츠 단위로 나타냅니다.
HPF: 이 믹서 소스의 모든 하이 패스 필터 컨트롤 및 모듈레이터의 합으로, 컷오프 주파수를 헤르츠 단위로 나타냅니다.
컨트롤
데이터 필터(Data Filter): 목록 헤더 바를 우클릭하면 믹서 소스별로 표시할 오디오 데이터 값을 선택할 수 있는 컨텍스트 메뉴가 나타납니다.
글로벌 뮤트/솔로(Global Mute/Solo): 이 컨트롤은 텍스트 창에서 필터링 중인 항목에 따라 달라지며, M 및 S 버튼은 필터링된 소스 목록을 뮤트하거나 솔로로 전환합니다. 필터링 중인 항목이 없는 경우, M 및 S 버튼을 누르면 디폴트 믹스로 돌아갑니다. 이는 사운드 탭의 모든 뮤트 및 솔로 액션보다 우선합니다.
플롯 표시/숨기기(Show/Hide Plot): 탭의 오른쪽 상단에 있는 플롯 버튼을 누르면, 표에서 선택한 데이터의 시간 플롯이 표시됩니다.
에셋 편집(Edit Asset): 목록 표시에서 믹서 소스를 더블클릭하면 해당 에셋이 포함된 에셋 에디터가 열립니다.
플롯 트레이스
플롯 트레이스(Plot Trace)를 선택하면 소스 탭의 아래쪽에 사용자가 선택한 데이터와 관련하여 최근 5초 동안의 믹서 소스 값 이력이 선 그래프로 표시됩니다. 타임라인 값은 일반적으로 게임플레이 세션의 시작 시점인 트레이스 시작부터입니다. 플롯(Plot) 데이터 값은 플롯 오른쪽 상단의 풀다운 메뉴를 사용하여 선택할 수 있으며, 위에서 설명한 숫자 표시와 동일한 유닛으로 표시됩니다. 플롯 트레이스에는 목록의 첫 16개 소스가 표시됩니다.
가상 루프 탭
이 탭에는 현재 렌더러에서 추적 중이지만, 동시실행 또는 거리 어테뉴에이션 인수로 인해 믹서용 샘플을 생성하지 않는 모든 활성 사운드의 목록이 표시됩니다.
표시된 데이터
재생 순서(Play Order): 단조적으로 증가하는 사운드 인스턴스 ID로, 믹서에서 사운드가 시작되는 순서를 나타냅니다.
이름(Name): 가상화된 믹서 소스의
Uasset이름입니다.시간(가상화됨)(Time (Virtualized)): 이 사운드가 믹서를 위해 마지막으로 샘플을 소싱한 이후 경과된 시간(초)입니다.
시간(전체)(Time (Total)): 이 사운드가 가상으로든 가상이 아니든 재생된 총 시간(초)입니다.
업데이트 간격(Update Interval): 위치 또는 동시실행 업데이트 사이의 시간(초)으로, 이 사운드가 가상의 상태로 유지되는지 여부를 결정합니다. 이 값은 렌더러와의 거리에 따라 달라집니다.
컨트롤
탐색(Browse): 이 버튼을 누르면 콘텐츠 브라우저에 선택한 에셋이 표시됩니다.
열기(Open): 이 버튼을 누르면 선택한 에셋의 에셋 에디터를 엽니다.
데이터 필터(Data Filter): 목록 헤더 바를 우클릭하면 믹서 소스별로 표시할 오디오 데이터 값을 선택할 수 있는 컨텍스트 메뉴가 나타납니다.
에셋 편집(Edit Asset): 목록 표시에서 믹서 소스를 더블클릭하면 해당 에셋이 포함된 에셋 에디터가 열립니다.
서브믹스 탭
이 탭에는 현재 프로젝트의 모든 사운드 서브믹스(Sound Submixes)가 나열되고 현재 활성 신호가 있는 사운드 서브믹스를 표시합니다. 오디오 미터(Audio Meters) 탭에서 신호 레벨을 표시할 서브믹스 세트를 선택할 수 있습니다.
표시되는 데이터
활성(Active): 이 열의 점은 해당 서브믹스에 활성 신호가 있음을 나타냅니다.
선택(Select): 이 열의 체크박스는 오디오 미터 탭의 미터에 서브믹스 레벨이 시각적으로 표시됨을 나타냅니다. 오디오 미터 탭이 현재 환경설정에 표시되지 않는 경우 수동으로 열어야 합니다.
이름(Name): 사운드 서브믹스 에셋 이름입니다.
컨트롤
서브믹스 편집(Edit Submix): 목록에서 서브믹스를 더블클릭하면 해당 에셋의 에셋 에디터가 열립니다.
오디오 버스 탭
오디오 버스(Audio Buses)는 지정된 채널 구성의 버퍼로, 여기로 어떤 오디오 소스든 오디오를 '전송'할 수 있습니다. 버스에 전송된 오디오는 단일 신호로 믹싱됩니다. 오디오 버스 자체는 어떤 그래프나 관계로든 서로 연결되어 있지 않습니다. 오디오 버스는 오디오 분석(예: 엔벨로프 팔로잉)을 수행하여 다른 시스템을 구동하거나, '소스 버스'로 라우팅되어 그 출력을 사운드 소스로 음향화하거나, 메타사운드(MetaSound)에서 읽어 메타사운드 DSP 그래프 내에서 추가적으로 음향화하거나 분석할 수 있는 곳이라는 점에서 유용합니다.
표시되는 데이터
활성(Active): 이 열의 점은 해당 오디오 버스에 활성 신호가 있음을 나타냅니다.
선택(Select): 이 열의 체크박스는 오디오 미터 탭의 미터에 오디오 버스 레벨이 시각적으로 표시됨을 나타냅니다. 오디오 미터 탭이 현재 환경설정에 표시되지 않는 경우 수동으로 열어야 합니다.
이름(Name): 오디오 버스 에셋 이름입니다.
컨트롤
타입 필터(Type Filter): 오디오 버스 에셋이나 코드에서 생성된 버스 또는 둘 다 표시할 수 있습니다.
오디오 버스 편집(Edit Audio Bus): 목록에서 오디오 버스를 더블클릭하면 해당 에셋의 에셋 에디터가 열립니다.
오디오 미터 탭
이 탭에는 각 탭에서 선택한 서브믹스(녹색 텍스트)와 오디오 버스(파란색 텍스트)의 계량된 시각화가 표시됩니다. 계량된 진폭은 지수 dB 스케일을 사용합니다. 버스 구성의 각 채널은 표준 스피커 순서에서 별도의 미터로 표시됩니다. 선택한 모든 서브믹스와 버스를 수용하도록 창이 스크롤됩니다. 이 탭의 컨트롤은 없습니다.
분석기 탭
분석기(Analyzers) 탭은 엔진의 메인 오디오 출력을 보여주는 일련의 5가지 실시간 시각화입니다. 탭의 오른쪽 상단에 있는 세로 점 세 개 메뉴에서 시각화를 선택합니다.
미터(Meter): 메인 출력 RMS 진폭을 지수 dB 스케일로 표시합니다. 채널 수는 오디오 디바이스의 채널 구성과 일치합니다. 이 분석기의 추가 컨트롤은 없습니다.
오실로스코프(Oscilloscope): 메인 오디오 출력에서 나오는 오디오의 최근 0.5초 동안의 시간 도메인 샘플 진폭 플롯을 표시합니다. 스케일은 0.0~1.0 사이의 선형 float입니다. 이 분석기의 추가 컨트롤은 없습니다.
벡터스코프(Vectorscope): 가로 축에는 왼쪽 채널의 선형 시간 도메인 진폭을, 세로 축에는 오른쪽 채널의 선형 시간 도메인 진폭을 표시합니다. 이는 위상 관계와 채널 일관성을 관찰하는 데 유용합니다. 이 분석기의 추가 컨트롤은 없습니다.
스펙트로그램(Spectrogram): 모노 채널로 믹싱된 가장 최근 오디오 출력의 주파수 도메인 플롯을 표시합니다. 시간은 가로 축에, 오디오 주파수는 세로 축에 표시됩니다. 플롯의 각 세로선은 오디오의 단일 시간 간격을 나타내며 픽셀의 색은 해당 주파수에서 오디오 신호의 강도를 나타냅니다. 분석기의 아무 곳이나 우클릭하면 플롯의 컨트롤 몇 가지를 선택할 수 있습니다.
분석기 타입(Analyzer Type): 주파수 도메인에서 오디오 신호를 표현하기 위해 고속 푸리에 변환(Fast Fourier Transform, FFT)과 Constant Q 트랜스폼(Constant Q Transform, CQT) 중에서 선택합니다.
FFT 크기(FFT Size): 각 창 변환에 사용되는 오디오 샘플 수입니다. 크기가 클수록 주파수 해상도가 커지지만 시간 해상도가 낮아지는 단점이 있습니다.
픽셀 플롯 모드(Pixel Plot Mode): 신호 강도를 표시하기 위해 샘플에 가중치를 적용하는 방식으로 샘플링(Sample), 피크(Peak), 평균(Average) 중 하나를 선택합니다. 일시적인 주파수를 강조하거나 강조하지 않는 데 사용할 수 있습니다.
주파수 스케일(Frequency Scale): 스펙트럼의 다양한 디테일을 확인하기 위해 선형과 지수 스케일 중에서 선택합니다.
컬러 맵(Color Map): 더 강한 신호 강도를 흰색 또는 검은색으로 나타냅니다.
방향(Orientation): 가로(위 그림)와 세로 중에서 선택합니다. 세로를 선택하면 축이 교체되어 세로가 시간, 가로가 주파수가 됩니다.
스펙트럼 분석기(Spectrum Analyzer): 오디오 주파수를 가로 축으로, 신호 강도를 세로 축으로 하여 모노 채널로 믹싱된 메인 출력의 순간 주파수 도메인 플롯을 표시합니다. 마우스를 특정 주파수로 이동하면 해당 스펙트럼 대역의 신호 강도가 표시됩니다. 이 분석기에는 몇 가지 디스플레이 옵션이 있습니다.
탄도(Ballistics): 아날로그(Analog)와 디지털(Digital) 중에서 선택할 수 있으며, 오디오 간격 간의 신호 지속성을 시뮬레이션하여 아날로그 또는 디지털 전문 오디오 미터의 모양을 재현합니다. 프레임 간에 얼마나 부드럽게(아날로그) 또는 정밀하게(디지털) 전환할 수 있는지를 결정합니다.
분석기 타입(Analyzer Type): 주파수 도메인에서 오디오 신호를 표현하기 위해 고속 푸리에 변환(Fast Fourier Transform, FFT)과 Constant Q 트랜스폼(Constant Q Transform, CQT) 중에서 선택합니다.
FFT 크기(FFT Size): 각 창 변환에 사용되는 오디오 샘플 수입니다. 크기가 클수록 주파수 해상도가 커지지만 시간 해상도가 낮아지는 단점이 있습니다.
틸트 스펙트럼(Tilt Spectrum): 낮은 주파수에 더 많은 가중치가 적용된 스펙트럼의 그래프를 평평하게 만들기 위해 주파수당 어테뉴에이션 양을 지정합니다.
픽셀 플롯 모드(Pixel Plot Mode): 신호 강도를 표시하기 위해 샘플에 가중치를 적용하는 방식으로 샘플링(Sample), 피크(Peak), 평균(Average) 중 하나를 선택합니다. 일시적인 주파수를 강조하거나 강조하지 않는 데 사용할 수 있습니다.
주파수 스케일(Frequency Scale): 스펙트럼의 다양한 디테일을 확인하기 위해 선형과 지수 스케일 중에서 선택합니다.
주파수 축 라벨 표시(Display Frequency Axis Labels): 가로 그래프 그리드 선에 헤르츠 단위의 숫자 값으로 라벨을 지정합니다.
사운드 레벨 축 라벨 표시(Display Sound Level Axis Labels): 수직 그래프 그리드 선에 데시벨 단위의 숫자 값으로 라벨을 지정합니다.
컨트롤 버스 탭
오디오 모듈레이션(Audio Modulation) 플러그인을 사용하면 사용자가 컨트롤 버스를 생성하여 오디오 소스 및 서브믹스의 피치, 볼륨, 필터 및 기타 값을 수정할 수 있습니다. 이 탭에는 각 활성 버스의 현재 값을 0.0~1.0 사이의 float 값 포맷의 숫자 형태로 표시합니다. 소스 및 사운드 페이지에 표시되는 피치, 볼륨, 필터 값은 여기에 표시된 컨트롤 버스의 영향을 반영합니다.
이 탭에는 추가 디스플레이 또는 컨트롤 옵션이 없습니다.
모듈레이션 매트릭스
오디오 모듈레이션 플러그인의 컨트롤 버스들을 합산하여 누적 효과를 낼 수 있습니다. 모듈레이션 매트릭스(Modulation Matrix) 탭은 현재 활성화된 다양한 버스에 대한 인사이트와 이 버스들이 어떻게 협력하여 오디오 소스에 영향을 미치는지에 대한 인사이트를 제공합니다.
이 탭에는 추가 디스플레이 또는 컨트롤 옵션이 없습니다.