2019.2 출시를 앞두고 공간 음향에서 참 많은 일들이 이루어졌습니다. 저희의 주요 개발 항목 중 한 가지는 바로 레이캐스팅 엔진을 다시 개조하는 것이었죠. 라이팅 기술에서 많은 영감을 얻어온 저희 기술은 삼각형, 이미터, 반사 차순을 보다 잘 반영하여 확장될 수 있게 만들어 주었습니다. 저희 팀원인 크리스토프 토니에리(Christophe Tornieri)가 작년 가을 AES 뉴욕에서 발표하기도 했죠 [1]. 2019.2의 또 다른 주요 변경 사항은 공간 음향이 Wwise에 더욱 잘 통합되었으며, 프로그래머와 디자이너가 보다 쉽게 구성할 수 있게 되어 창의력을 발휘할 수 있는 더욱 많은 방법을 제공해 줍니다. WWWOE에서 저희 팀원인 탈리 케킬키안(Thalie Keklikian)이 발표한 것을 보신 분들도 있을 거예요 [2].
출시되기 얼마 전에 Audiokinetic의 공간 음향 연구 팀은 제품 책임자인 시몽 애쉬비(Simon Ashby)씨와 마주 앉아 새로운 기능을 사용하여 Wwise Audio Lab을 리믹싱한 그의 경험에 대해 배우는 시간을 가졌습니다. 아주 기쁘게도 시몽씨가 “이 기술은 리스너에게 동적이고 대조적인 세계를 제공해 주네요. 살아있는 세상이라니! 공간 음향을 통해 드디어 경험해볼 수 있게 되네요."라고 말씀해 주셨습니다. 그리고 그의 작업 과정을 설명함과 동시에 흥미롭게도 '어느 정도 믹싱 규칙을 제어할 수 있지만 최종적으로 시스템에게 힘이 있다'라고 표현해 주셨습니다.
시몽씨의 말씀은 공간 음향에 대한 저희의 접근 방식과 사운드 디자인 vs. 물리적 정확성에 대한 분명한 이분법에 대해 되돌아보게 해주었습니다. 실제로 Wwise 공간 음향은 사운드 디자이너에게 많은 제어력을 제공하기 때문에 아주 '현명한(Wwise)' 방법이라고 할 수 있습니다. 하지만 소리의 전달은 불변의 물리적 법칙을 따르죠. 그렇다면 사용자에게 제어력을 제공하는 것이 무슨 소용이 있을까요? 그냥 바로 작동되어야 하는 것 아닌가요? 이 블로그 시리즈에서는 Wwise 공간 음향의 제작 방향에 대한 저희의 의견 중 일부를 실제 사례를 통해 공유하려고 합니다.
거리 모델링에 관한 사례
디자이너가 게임의 사운드를 더 좋고 그럴듯하게 만들기 위해 물리적인 법칙에서 벗어나는 일반적이고 기본적인 예시 중 하나는 거리를 모델링하는 방식입니다. 게임을 위한 모든 사운드 엔진에는 거리가 소리에 어떤 영향을 끼치는지를 결정하는 방식이 있습니다. 하지만 소리의 감쇠는 아주 잘 알려져 있으며 모든 소리에 공통적으로 반영되죠. 점원의 감쇠는 에너지가 외부로 방사되면서 점점 커지는 영역으로 확산되기 때문에 역제곱 법칙을 따릅니다 (즉, 진폭이 1/r에 비례하며, 다시 말해 거리가 두 배가 될 때마다 6dB씩 감소하게 됩니다) [3]. 거리가 점점 더 커질수록 에너지 확산보다 공기 흡수로 인한 감쇠가 더 크게 작용하게 됩니다 [4].
하지만 디자이너는 소리마다 다른 감쇠 곡선을 사용하는데, 이러한 곡선이 물리적으로 정확하지 않은 경우가 많습니다. 사실 거리 감쇠는 사운드 디자인에서 중요한 도구 중 하나입니다. 이에 대한 몇 가지 이유를 추측해봅시다.
게임플레이
게임플레이는 물리적 정확도보다 더 중요합니다. 예를 들어 대사의 경우 멀리서도 잘 들릴 수 있게 감쇠 곡선을 보다 작게 (완만하게) 만드는 경우가 많죠.
제한된 동적 범위
제한된 동적 범위의 제약 완화. 현실에서 소리의 동적 범위는 아주 큽니다 (0~190 dB SPL). 하지만 가상 세계에서는 오디오가 스피커나 헤드폰에서 렌더링 된다는 제약이 생기게 됩니다. 그렇기 때문에 디자이너가 소리가 얼마나 크고 작을지에 대한 거리 기반 볼륨 곡선을 다르게 편집할 가능성이 높습니다.
(a)
(b)
그림 1 - 큰 소리의 예시 곡선. (a)가 더욱 정확하지만 디자이너가 곡선을 (b)와 같이 소리가 아주 큰 부분을 동적 범위 안으로 '눌러 담아서' 플레이어의 사운드 시스템으로의 렌더링에 더욱 적합하도록 할 수 있습니다.
세계 규모
3D 세계의 규모는 보기 좋도록 최적화되지만. 듣기 좋도록 최적화되지는 않습니다. 예를 들어 Wwise Audio Lab [5]에서 보통 크기의 거실로 보이는 공간은 사실 12 미터만큼 깊습니다. 꽤 크죠. 또한 플레이어가 7.5 m/s로 걸어 다니며 18 m/s로 뛰어다닌답니다!
그림 2 - 지오메트리 좌표에 따르면 Wwise Audio Lab에 있는 이 거실은 12미터 만큼 깊습니다.
녹음된 사운드
녹음된 사운드는 녹음된 환경이 어느 정도 사운드 인에 '고정되어 들어가' 있습니다. 사운드를 저작할 때 마치 우리가 직접 듣는 것처럼 만들거나 적어도 우리가 듣고 싶은 방식으로 만들지만, 소리의 전달과 환경에 의한 물리적인 과정으로 인해 완벽히 분리하기 어려운 경우가 있습니다. 직접-잔향 비율(direct-to-reverberant ratio, DRR) 로 측정되는, 소리에서 표현되는 잔향의 양이 거리를 인지하기 위한 중요한 단서라는 점은 잘 알려진 사실입니다 [6]. 실제로 리스너가 음원으로부터 점점 멀어지면서 직접적인 파형보다 반사음을 통해 음원을 인식하게 됩니다. 무향실에 가본 적이 있으시다면 전형적인 청각적 지표가 완전히 사라진다는 것을 경험하셨을 거예요.
무향실에서 녹음한 사운드를 가져오는 경우도 극히 드물지만, 게임 시스템이 보통 환경에 따라 잔향을 추가하게 됩니다. 이 경우 직접적인 사운드에 사용된 거리 감쇠 곡선이나 변조-원본 신호의 비율 (즉 DRR과 같은 '신호의 흐름')에 영향을 미치게 되죠.
이와 관련하여 왜 사람들이 거리 모델에서 고대역 필터링을 종종 사용하는지를 생각해볼 수 있습니다. 믹싱의 관점에서 볼 때, 신호가 잔향으로 더 많이 전송될수록 저대역을 제거하면 믹스가 흐릿해지는 것을 막을 수 있습니다 [7]. 하지만 음향학 서적에서는 거리로 인한 저주파 범위에 특정한 에너지의 손실에 대해 언급하지 않습니다 [8].
혹시 게임에서 거리 감쇠를 창의적으로 사용할 수 있는 다른 아이디어를 알고 계시나요? 어떤 아이디어인지 여러분의 생각을 꼭 들어보고 싶네요.
거리 감쇠가 현실에서와 그렇게 다르다면 음향에 관한 복잡하거나 미묘한 현상을 어떻게 물리적으로 정확하게 표현할 수 있을까요?
초기 반사음
이 부분은 이전 섹션에서도 언급했습니다. 파면 (波面, wave front)이 이미터로부터 확장되고 결국 장애물에 부딪히면서 일부 에너지는 표면에 흡수 (즉, 계속해서 전달됨) 되며 일부는 반사됩니다. 직접적인 사운드와 반사음 도착 시기 간의 지연 시간과 도착하는 방향은, 리스너가 있는 환경의 형태에 대한 많은 정보를 제공해 줍니다. 따라서 초기 반사음이라고 불리는 처음 몇 개의 반사음은 환경 인식에 아주 중요한 역할을 하며 몰입감과 외부화에 큰 영향을 줍니다 [9].
Wwise Reflect 플러그인 [10,11]은 Wwise Spatial Audio를 구동하여 이 초기 반사음을 모델링합니다. 시몽씨는 이 플러그인이 '공간의 특성을 반사시켜 들려줌으로서 세계 안에서 플레이어의 위치와 공간에 대한 깊고 즉각적인 피드백을 제공해준다'라고 말씀해 주셨습니다. Wwise Reflect를 사용한 저희의 접근 방식은 전적으로 지오메트리를 기반으로 한 잔향에 비해 상대적으로 낮은 컴퓨터 계산 비용으로 초기 반사음의 역동성과 몰입감을 제공해 줍니다.
초기 반사음은 공기와 표면 간의 경계면에서 거리와 에너지 손실로 인해 감쇠를 거치게 됩니다. 사운드 디자이너가 이러한 반사음 모델링의 정확도에도 '반칙'을 사용하는 이유와 방법은 아주 흥미롭습니다.
(a)
(b)
그림 3 - Wwise Reflect가 Wwise Spatial Audio에 의해 계산된 초기 반사음을 렌더링합니다. (a) Wwise Spatial Audio에 의해 계산된 초기 반사음의 경로가 3D Game Object 뷰에 표시되었습니다.
(b) Wwise Reflect UI가 실시간으로 표시된 허음원(image source)과 대응합니다.
거리 감쇠
거리 감쇠도 직접적 사운드와 같은 이유로 맞춤화됩니다. Wwise Reflect는 여기에 사용할 수 있는 곡선을 별도로 제공해 줍니다. 이렇게 하는 한 가지 이유는 바로 구조적인 이유입니다. 버스에 있는 플러그인이 음원의 Attenuation ShareSet를 확인하기가 힘들며, 버스에 서로 다른 맞춤 거리 감쇠를 사용하는 여러 음원이 있을 수 있기 때문에 더 복잡해집니다. 하지만 Wwise 2019.2를 통해 작업된 사항을 통해 이 문제를 피해 작업할 수 있는 방법을 곧 찾을 수 있게 되었습니다. 또 다른 이유는 디자이너가 초기 반사의 거리 감쇠가 직접적 사운드와 굳이 같게 만들고 싶지 않을 수 있기 때문입니다.
오디오 제작자가 초기 반사음의 거리 감쇠를 원본음의 거리 감쇠와 굳이 다르게 저작할 필요를 느끼는 이유나, 전자와 후자의 관계가 무엇인지는 정확히 알 수 없습니다. 하지만 아마도 DRR과 어느 정도 관련이 있지 않을까 추측해봅니다. 이 연구[12]는 처음 몇 개의 반사음이 거리를 인식하는 데에 주요 역할을 하며, Wwise Reflect에 의해 생산되는 신호가 분명히 DRR의 '잔향적인 부분'에 기여하기 때문이라고 주장합니다. 하지만 Reflect는 보조 버스를 사용한 기존의 '거리 구동 보조 레벨'이 아닙니다. 이 단순화된 모델이 각 반사음이 별도의 거리를 가질 수 있는 Reflect에 적용되지 않기 때문이죠. 그렇기 때문에 사운드 디자이너가 거리를 사용한 초기 반사음의 작동 방식을 설계할 때 전역적 DRR의 부재를 어느 정도 보완해야 합니다. 반사음이 음원과 가까울 경우 사운드 디자이너는 종종 원래보다 반사음을 더 조용하게 만들어서 근접적인 느낌을 더욱 강조해 줍니다. 반대로 음원과 멀 경우 반사음을 더욱 크게 만들어서 거리감을 표현해 줍니다. 이러한 과장의 이유는 결국 보다 적은 것으로 많은 일을 하기 위한 것이라고 생각합니다. 실제로 지오메트리와 성능의 제약으로 인해 Wwise Reflect에 의해 렌더링되는 초기 반사음의 개수는 현실보다 훨씬 적습니다. Wwise Reflect의 거리 모델 단순화는 아직 미결된 문제입니다. 먼저 원본 사운드의 거리 모델과 어떻게 다른지를 이해해야 해요. 그래서 여러분이 설계적 결정을 내리는 데에 어떤 것들이 동기가 되는지 꼭 들어보고 싶습니다!
벽 흡수
적은 것으로 더 많은 일을 하는 또 다른 사례는 벽 흡수입니다. 주파수 대역별 흡수율은 일상 문헌 자료에서 쉽게 읽어볼 수 있으며, 이 흡수율이 상당히 낮다는 것을 알 수 있습니다 (다르게 말하자면 표면이 아주 반사적입니다). 즉, 공간에서 파형이 벽에 수백 번 반사되며 반사될 때마다 표면 흡수로 인해 에너지가 약간씩 손상되죠. 그렇기 때문에 주파수 대역 내에서 벽에 부딪힐 때마다 일부 데시벨이 흡수되는 것이 잔향의 총 쇠퇴 시간과 공간의 음색 인식에 상당한 영향을 끼칠 수 있습니다.
반대로 Wwise Spatial Audio는 파형 경로당 4개의 반사만 시뮬레이션합니다. 2019.2 버전 전에는 1개도 거의 넘어서지 못했죠! Wwise에서 표면 흡수는 Acoustic Texture (음향 텍스처)를 통해 시뮬레이션됩니다. Acoustic Texture를 사용하면 디자이너가 실제 표면에 비해 흡수 프로파일을 보다 과장하여 해당 환경의 음향적 속성을 강조해서 벽의 물질을 만들어진 오디오에 제대로 각인할 수 있습니다.
물질 |
주파수별 흡수 계수 (Hz |
||
125 (~저주파) |
500 (~중저주파) |
2,000 (~중고주파) |
|
페인트칠이 된 콘크리트 |
.10 |
.06 |
.09 |
벽돌 |
.03 |
.03 |
.05 |
무거운 커튼 |
.15 |
.55 |
.70 |
그림 4 - 기본 제공되는 반사 음향 텍스처에서의 커튼 벽돌 표면과 위키피디아(Wikipedia) 페이지에서 가져온 실제 값 [13]. Wwise에서의 계수는 백분율입니다. 콘크리트는 꽤 비슷합니다. 벽돌은 스펙트럼 모양은 비슷하지만 흡수력이 더 높습니다. 커튼의 경우 저희 아티스트가 아주 창의력을 발휘했네요!
반사 센드
Wwise 2019.2에서는 사운드에 Reflection Send(반사 센드) 속성이라는 새로운 기능이 제공됩니다. 이 기능은 주어진 사운드에 원하는 Wwise Reflect ShareSet (혹은 다른 효과)를 선택하고, 사운드가 이 효과로 제공되는 양을 조절할 수 있게 해줍니다. 하지만 왜 이런 기능이 필요할까요? 물리적 사운드는 본질과 상관없이 항상 같은 강도로 반사되지 않나요? 흠, 게임플레이나 서술적인 측면에서 어떤 사운드가 더 '반사'되었으면 하는 경우가 있죠 (예를 들면 텅텅 빈 복도에서 들리는 발자국 소리처럼 말이죠). 아니면 이미 사운드 자체에 잔향이 많이 들어가 있어서 반사음을 약간 낮추고자 할 수도 있습니다. 그리고 사운드의 반사음에 신호 처리를 좀 더해서 변경할 수도 있겠고요. 이런 아이디어가 여러분이 이 시스템이 가진 유연성을 새로운 방식으로 사용하는 데에 영감이 되었으면 합니다.
그림 5 -Wwise 저작 도구에 있는 초기 반사 센드.
다음 블로그 시리즈에서는 계속해서 Wwise Spatial Audio에 대한 저희의 접근 방식을 알아보고, 중요한 음향 현상인 회절의 실용적인 사용 사례를 함께 살펴보겠습니다.
댓글