Wwise로 현실 세계의 상호작용 음악 만들기

상호작용 오디오 / 상호작용 음악 / Wwise에 대한 팁과 도구

저는 몇 년 전부터 상호작용 오디오를 좀 더 깊게 탐구해보기로 했습니다. 제가 하는 작업과 연관된 프로젝트로 만들되, 지루하지 않게 흥미로우면서도 배울 것이 있는 프로젝트를 만들어보고 싶었습니다. 제 스스로 한 단계 높은 수준의 전문가로 성장할 수 있도록 만드는 동시에 재미를 줄 수 있는 프로젝트이면 좋겠다고 생각했죠.

이런 저런 구상 끝에 저는 'Robotic Orchestra(로봇 오케스트라, RRO)'라는 것을 만들게 되었습니다. RRO는 제 입력에 반응하고 랜덤화하면서 독립적으로 재작업하는 장치로 설계되었습니다. 따라서 여기서 나온 예술적 작품은 반은 제 것이고 반은 장치의 창조물이 되는 거죠. RRO가 만드는 음악은 그저 작곡이 아니라 여러 다른 작곡이 파생될 수 있는 시스템입니다. 다시 말해 Wwise가 제공할 수 있는 모든 상호작용 기능이 담긴 살아있는 반복 재생 세트라고 할 수 있습니다.

프로토타입

RRO에는 입력, 미들웨어, 출력이라는 세 가지 기본 개념이 있습니다. 이 세 가지에 대한 계획이 참 많았지만 초반에 집중한 내용은 다음을 사용합니다.

  • 제가 일할 때 사용하는 MIDI 입력 장치 (Komplete Kontrol S88) 
  • 미들웨어: Wwise
  • 출력: 시스템 오디오 (스테레오, 헤드폰) 

Wwise에서 MIDI 작업을 시작하려고 하신다면 필요한 정보가 모두 담긴 베락 닐 보야(Berrak Nil Boya)의 훌륭한 튜토리얼 (제 1부제 2부)을 꼭 소개해드리고 싶습니다. Wwise에서의 MIDI 작업을 배우고 난 후, 저는 피아노 페달로 엔진이 사운드를 로드/오프로드하도록 하는 프로토타입을 만들었습니다. 그리고 직장에서 바로 사용하기 시작했죠.

업그레이드된 프로토타입에서는 Playtron이라는 단순한 MIDI 컨트롤러를 사용했습니다. Playtron 컨트롤러는 전도성이 있는 어떤 것이든 연결할 수 있는 아주 재미있는 컨트롤러입니다. 야채, 칼, 사람들, 등 수많은 것으로 음악을 만들 수 있어요. 저는 이 컨트롤러를 사용할 수 있는 모든 사례를 연구하고 체계화해서 최근에 이에 대한 동영상을 만들었습니다. 이 블로그 글에서는 동영상에서 설명한 모든 팁을 함께 살펴보겠습니다.

Wwise에서 MIDI 작업하기: 개요

Wwise에서 MIDI 작업을 시작하기 위해서는 몇 가지 단계를 실행해야 합니다. 먼저 MIDI 입력이 저작에 의해 초기화되어야 합니다. 그러기 위해서는 'Project → Control Surface Devices'로 가서 새로운 장치를 추가하고 목록에서 'Received From' 입력 장치를 선택하세요.

RecievedFromInput

1. 신시사이저

연주를 시작하는 방법은 아주 간단합니다. Wwise Synth One이나 Tone Generator 음원을 사용하면 MIDI 키보드를 연주하거나 Playtron의 핀을 통해 음을 트리거할 수 있습니다. 서로 다른 음을 연주하기 위해서는 Frequency Mode를 반드시 'Midi Note'로 전환해야 합니다.

MidiNote

Wwise에서 세션을 필요로 하는 다른 것들과 마찬가지로 이 장치도 세션을 선택하거나 만들어야 합니다.

WwiseUtility

2. 샘플러

신시사이저가 가장 쉬운 옵션이지만 (SynthOne 프리셋을 복사해서 붙여넣거나 그냥 두드려서 소리를 만들 수 있습니다) 샘플러를 만들 수도 있습니다. 하지만 샘플러는 에셋과 RTPC가 필요하기 때문에 시간이 더 걸립니다. 샘플러를 서로 다른 음계에 매핑할 수도 있습니다. 다음은 Wwise를 사용하여 더욱 복잡한 MIDI 제어 샘플 악기를 만드는 과정을 자세히 설명해주는 글입니다. 샘플러를 특정 음계로 매핑하는 것도 가능합니다. 저의 경우 음내림이나 높음이 없는 단조 음계를 만들어서 Playtron의 반음계에 매핑했습니다.

thesampler

3. 제어 메시지

단순히 건반으로 음을 연주하는 대신 MIDI 컨트롤러를 사용해서 Container나 Event를 토글하는 것도 가능합니다. Soundcaster 뷰는 속성과 매개 변수로의 접근과 함께 Sound와 Wwise Event를 들어볼 수 있게 해주는 방법인데, 박자 만들기 콘솔로 사용하기에도 완벽하죠.

즉석으로 음색을 변경하거나 심지어 신시사이저와 샘플러 사이를 전환하기 위해서 Soundcaster에 손쉽게 컨테이너를 넣을 수 있습니다.

samplesoundssoundcaster

A) Control Surface Bindings 뷰로 전환한 후 'view groups'로 가서 새로운 폴더를 만들고 새로운 Binding Group을 추가하세요.

B

B2

B) 컨트롤러 장치에 있는 핀과 연결하려면 'Learn'을 누르고 제어 스위치로 만들고자 하는 오브젝트나 건반을 건드리세요.

C

C) 'Learn' 버튼 오른쪽에 있는 메뉴에서 'Object commands → Inspect'를 선택하세요. 'Play'를 선택하면 반복 재생되는 신시사이저 소리가 재생됩니다.

Inspect

이제 두 번째 음색에도 A-C 단계를 반복해야 합니다. 한 가지 팁이 있습니다. Soundcaster에서 제어 핀으로 오브젝트를 "Inspect(조사)"하면 해당 악기가 출력을 위해 선택되며 나머지 핀은 'Current selection/Pass MIDI note'를 위해 활성화된 채로 유지되기 때문에 멜로디에 사용할 보이스를 선택할 수 있습니다. Object/Index 열에 있는 숫자는 Soundcaster에서 오브젝트의 순서와 대응해야 합니다.

playtroncontrolsurfacebindings

4. Event

제가 Wwise를 MIDI 컨트롤러에 대한 미들웨어로 사용하는 가장 큰 이유는, Wwise Event를 Soundcaster로 넣을 수 있는 기능이었습니다. 이 기능을 사용하면 State, Switch, Game Parameter, 등을 설정하면서 스팅어와 전환 효과를 포함한 Interactive Music Hierarchy에서 템포가 동기화된 뮤직 세그먼트와 재생 목록을 재생하는 의존성을 만들 수 있죠.

ControlBindings2

이 모든 것들이 보통 게임에 의해 트리거된다면 연주자인 여러분이 '게임'의 역할을 하는 것이죠. Soundcaster는 게임에서 제공하는 동일한 기능을 런타임 때 접근할 수 있게 해주는 강력한 도구입니다.

SetRhythmicState

반복 재생 되는 사운드나 컨테이너를 Interactive Music Hierarchy에서 MIDI 컨트롤러로 연결할 경우 'Stop All' Event 동작을 사용하여 '모두 중단'하는 Wwise Event를 반드시 만들고 이 Event를 Soundcaster Session에 추가해주세요. 이 Event는 소리가 여러 겹으로 겹쳐지면서 불필요하게 커지고 정신 없게 들리는 것을 막아줍니다.

StopEverything

5. Game Parameter

페이더나 분압기(potentiometer)가 있는 MIDI 키보드는 보통 RTPC를 쉽게 제어할 수 있습니다. 새로운 Game Parameter를 만든 후 Control Surface Bindings로 가서 'Global' 폴더 안에 새로운 바인딩을 만드세요. 'Learn'을 누르고 컨트롤러에서 페이더를 건드리세요. 그런 다음 Property/Command 이름에서 'Object Properties → Simulation Value'를 선택하고 Object/Index 열에서 아까 만들었던 Game Parameter를 선택하세요.

Playtronsimulation

이 연구를 좀 더 복잡하게 만들기 위해서 저는 또 다른 Playtronica 악기인 TouchMe를 사용하고 싶었습니다. TouchMe는 정전 용량 센서로 작동합니다. 컨트롤러의 한 쪽은 연주자에게 연결되고, 다른 한 쪽은 정전 용량 연결이 있을 때 장치가 감지하는 것과 연결되죠. 이 컨트롤러는 기본적으로 Game Parameter와 연결해야 하는 CC가 아닌 MIDI Note 메시지를 전송하도록 개발자가 미리 매핑해놓았습니다. 저는 PureData 패치와 Python 마법으로 MIDI Note를 CC로 변환해주는 간단한 변환기를 만들어보려고 했습니다. 블로그(제 1부, 제 2부)에도 여기에 관한 좋은 튜토리얼이 있고, 심지어 이 과정과는 약간 다른 방식으로 접근하는 One MInute Wwise (1분 Wwise)도 있습니다. 하지만 결론적으로 저는 성공하지 못했습니다. Wwise Authoring이 음원 MIDI 플러그인을 이해하지 못하더군요. 그리고 Effect MIDI 플러그인은 디지털 오디오 스트림과 작동하기 때문에 소용이 없었죠.

그러던 참에 저는 Bome MIDI Translator라는 것을 찾았습니다. 이 장치는 MIDI 메시지를 다른 MIDI 메시지로 변환해주는 도구입니다.

이제 TouchMe 컨트롤러를 앞서 만들었던 Game Parameter와 연결하여 볼륨, 피치, 필터, 심지어 일부 플러그인 속성도 제어할 수 있게 됐습니다. 좀 더 효율적인 작업을 위해 TouchMe 컨트롤러에서 Wwise가 수신하는 데이터를 보세요. 그리고 매개 변수의 Range(범위)에서 'Min'과 'Max' 값으로 표시되는 최소/최대값을 설정하세요. 이제 TouchMe 컨트롤러의 모든 움직임이 매개 변수를 변경하게 됩니다.

ControlSomethingPropertyEditor

이렇게 MIDI 컨트롤러로 Wwise 사용하기에 대한 기본 내용을 살펴보았습니다. Wwise Authoring에서 수행한 모든 조작 내용은 Arduino나 Raspberry Pi 같이 직접 만든 컨트롤러를 포함한 다른 모든 컨트롤러와도 사용할 수 있습니다. 하지만 이 부분도 말씀드리기엔 글이 너무 길어질 것 같네요...!

 

리사 슈바르츠발트 (Ressa Schwarzwald)

리사 슈바르츠발트 (Ressa Schwarzwald)

TinyBuild(타이니빌드)의 오디오 프로듀서이며 상호작용 오디오 애호가이자 탐험가입니다!

 @the_ressium

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

이미지 기반 파라미터를 이용한 오픈 월드 앰비언트 디자인

Blend Container는 강력한 시퀀싱 및 믹싱 도구가 될 수 있습니다. 단순히 그것의 기능을 배우는 것이 게임 사운드 디자이너의 생각에 온갖 종류의 새로운 아이디어를...

13.3.2020 - 작성자: 톰 토디아 (TOM TODIA)

소규모 게임 프로젝트가 Wwise로부터 혜택을 받을 수 있는 5가지 이유

여러분이 게임 오디오 분야에 종사하고 있으며 이전에 소규모 게임 프로젝트를 수행한 적이 있는 경우. 다음과 같은 대화를 나눈 적이 있을 수 있습니다. "근데, 와이즈와 같은...

7.7.2020 - 작성자: 알렉스 메이 (ALEX MAY)

Wwise 2021.1 새롭게 제공되는 것들

Wwise 2021.1이 출시되었으며 Wwise 런처를 통해 다운받으실 수 있습니다. 이 버전이 제공하는 새로운 기능을 간략하게 소개해드리려고 합니다. 오브젝트 기반 오디오...

11.3.2021 - 작성자: Audiokinetic

Wwise에서 Audio Object 저작하기

미래... 미래란 항상 멀리 있고, 절대 지금으로 앞당길 수 없지만, 항상 손안에 잡힐 듯 말 듯 하지 않나요? 최신 뉴스를 꿰뚫고 있거나, 좋아하는 드라마를 바로바로 챙겨...

7.7.2021 - 작성자: 데미안 캐스트바우어 (Damian Kastbauer)

NFL 킥오프 2020: 텅 빈 경기장에 관중 사운드 시스템 도입

실제 팀과 경기장별 오디오 파일을 사용하는 동적 시스템 이 글은 Sports Video Group News(스포츠 비디오 그룹 뉴스)에 게시된 원본 글을 가져온 것입니다. 이번...

1.12.2021 - 작성자: 댄 대일리 (Dan Daley)

새로워진 Wwise Audio Lab(WAL)을 소개합니다

Wwise Audio Lab(와이즈 오디오 랩, WAL)은 Unreal Engine 4를 통해 오픈 소스로 개발된 게임 형식의 3D 환경이며 Wwise 런처를 통해 제공됩니다....

19.1.2022 - 작성자: 데미안 캐스트바우어 (Damian Kastbauer)

다른 글

이미지 기반 파라미터를 이용한 오픈 월드 앰비언트 디자인

Blend Container는 강력한 시퀀싱 및 믹싱 도구가 될 수 있습니다. 단순히 그것의 기능을 배우는 것이 게임 사운드 디자이너의 생각에 온갖 종류의 새로운 아이디어를...

소규모 게임 프로젝트가 Wwise로부터 혜택을 받을 수 있는 5가지 이유

여러분이 게임 오디오 분야에 종사하고 있으며 이전에 소규모 게임 프로젝트를 수행한 적이 있는 경우. 다음과 같은 대화를 나눈 적이 있을 수 있습니다. "근데, 와이즈와 같은...

Wwise 2021.1 새롭게 제공되는 것들

Wwise 2021.1이 출시되었으며 Wwise 런처를 통해 다운받으실 수 있습니다. 이 버전이 제공하는 새로운 기능을 간략하게 소개해드리려고 합니다. 오브젝트 기반 오디오...