눈이 보이지 않는 사람에게 Wwise 가르치기

사운드 디자인

원거리에 있는 학생들에게 게임 오디오를 가르치는 것은 쉬운 일이 아닙니다. 앞을 보지 못하는 원거리 학생에게 게임 오디오를 가르치는 것은 심지어 더 어렵겠죠. 바로 이 과제가 저희 Full Sail(풀 세일) 대학교의 오디오 제작 녹음 예술 학사 프로그램의 게임 오디오 강사들에게 주어졌습니다. 최근 저희는 처음으로 시력이 완전히 없는 온라인 학생에게 Mac에서 Wwise를 사용하는 방법을 성공적으로 가르쳐주었습니다. 여러 강사들이 함께 힘을 합치고 커스텀 보조 도구를 제작함으로써 가능한 일이었죠. 저희가 어떻게 이 일을 해냈는지 이 글을 통해 알려드리려고 합니다.

도전 과제

Full Sail 대학교의 오디오 제작 학사 프로그램에 등록한 학생들은 다양한 오디오 관련 주제에 관한 수업을 듣게 됩니다. 이 중 4개의 수업은 게임 사운드를 디자인하고 Wwise를 통해 오디오를 구현하는 법을 다룹니다. 오디오 제작 프로그램 디렉터인 브라이언 스미더스(Brian Smithers)가 앞을 전혀 보지 못하는 안드레 우즈(Andre Woods)라는 학생이 등록할 것이라는 것을 처음 알려줬을 때, 게임 오디오 수업을 가르치는 저희에게 걱정되는 것들이 몇 가지 있었습니다. 안드레에게 음악 믹싱을 가르치는 것은 어렵지 않아 보였습니다. 하지만 게임 사운드 디자인과 Wwise를 사용한 오디오 구현을 가르치는 것은 완전히 다른 문제였죠.

좀 더 복잡한 설명을 하자면 안드레는 Mac을 사용하여 학습하게 될텐데 Mac의 VoiceOver 접근성 도구가 대부분의 Wwise 인터페이스를 읽어낼 수 없었기 때문에 안드레와 같은 학생이 접근할 수가 없었습니다. 저희는 몇 주 동안 대안 과제, 엔진 안에서의 직접 구현, MIDI 컨트롤러를 사용한 상호작용 시뮬레이션, 스크립트를 통한 오디오 구현 등 다양한 아이디어를 사용하여 해결책을 강구했습니다. 해결하기 불가능한 것처럼 느껴졌지만 때로는 등잔 밑이 가장 어두운 법이죠.

해결책

결국 저희는 안드레가 Flo Tools라는 접근성 도구를 사용하여 Pro Tools 수업에 도움을 받을 수 있다는 것을 찾아냈습니다. Flo Tools는 Keyboard Maestro Mac 오토메이션 도구를 사용한 커스텀 접근성 매크로 세트로 구성되어 있습니다. 그리고 이런 의문이 들었습니다. Keyboard Maestro를 사용하여 Pro Tools에 접근성 기능을 추가할 수 있다면 Wwise에도 똑같은 작업을 하면 되지 않을까? 그래서 저희는 Wwise용 Flo Tools와 같이 'Wweyes'라는 내부 작업 이름을 가진 저희만의 버전을 만들기로 했습니다.

이 작업은 저희 정규 교육 업무를 수행하면서 개발 및 시험하는 데에 약 2개월이 걸렸습니다. 저희 모두 재택 근무 중이었기 때문에 개인 컴퓨터 말고는 매크로를 시험할 수 있는 방법이 없었죠. 가장 큰 과제는 시력이 멀쩡한 강사들이 시각 장애인이 접근할 수 있는 작업 과정을 상상해봐야 한다는 것이었습니다. 안드레는 어떤 방식으로 프로젝트에서 이동하고 탐색할까요? 작업 과정이 성공적으로 완료돠었을 때 어떻게 청각적 피드백을 받을 수 있을까요? 각 과제를 완료하는 데에 필요한 주요 기능은 무엇이 있을까요? 이 모든 것들을 빠르게 알아내야 했습니다. 이 계획은 1월 말에 시작되었고 안드레는 4월에 처음 게임 오디오 수업을 듣기로 예정되어 있었죠.

매크로

이동하기

첫 번째로 안드레가 Wwise에서 어떻게 이동할 수 있는지를 알아내야 했습니다. VoiceOver는 Wwise에 있는 메인 창의 제목을 읽을 수 있는 것 외에는 아무 것도 할 수가 없습니다. 저희는 안드레가 대부분 Audio나 Events 탭에서 많은 시간을 보낼 것이라는 것을 알고 있었죠. 녹음 예술 캠퍼스 학위의 게임 오디오 포트폴리오 수업을 가르치는 학과장 토마스 오웬(Thomas Owen)은 이 주요 영역을 주요 참조 지점(홈 베이스)로 두고 Audio 탭은 CMD+1, Events 탭은 CMD+2로 간단한 키보드 단축키에 연결할 것을 권장했습니다.

안드레가 Actor-Mixer Hierarchy 안에 있는 Default Work Unit에서 대부분의 작업을 할 것이라는 것을 알았기 때문에 자동으로 Audio 탭을 선택한 다음 Actor-Mixer Hierarchy, Default Work Unit을 차례로 선택하는 매크로를 처음으로 만들었습니다. 또한 이 매크로는 계층 구조에서 숨겨진 구성 요소가 다 보이도록 자동으로 모든 하위 계층을 펼쳐줘야 했습니다. 그래서 먼저 Audio 탭의 대상 이미지 스크린을 스캐닝한 다음, 성공할 경우 추가 기능을 실행하고 실행 확인을 안드레에게 제공하도록 했습니다. 시스템 효과음과 텍스트 음성 변환을 통해 청각적 피드백을 제공해줬죠.

Audio Tab/Actor-Mixer Hierarchy/Default Work Unit Macro 그림 1 – Audio Tab/Actor-Mixer Hierarchy/Default Work Unit 매크로

컨테이너

Actor-Mixer Hierarchy로 간 다음 안드레는 폴더, 컨테이너, 오브젝트를 만들어야 합니다. 이 기능을 실행할 수 있는 키보드 단축키가 이미 Wwise에서 기본으로 제공되지만 청각적 피드백은 제공하지 않았죠. 그래서 저희는 올바른 툴바 아이콘을 클릭하는 커스텀 단축키를 만들어서 텍스트 음성 변환을 통해 청각적 피드백을 제공해줬습니다.  

Random Container Macro그림 2 - Random Container 매크로

컨테이너를 만드는 것도 필요하지만 키 입력과 이름 및 유형을 음성으로 말해주는 방법도 필요했습니다.

각 키 입력을 듣기 위해서는 모든 문자와 숫자 키에 대해 개별적인 텍스트 음성 변환 매크로가 만들어져야 합니다. 그러면 안드레가 키보드로 입력하면서 올바른 이름과 철자로 컨테이너를 만들었는지 확인할 수 있는 피드백을 받게 되죠.

Number and Letter Macros그림 3 - 숫자와 문자 매크로

선택한 컨테이너의 이름을 식별하기 위해서 안드레는 이름을 클립보드에 텍스트로 복사해야 했습니다. 그러면 Keyboard Meastro에서 클립보드 콘텐츠가 텍스트에서 음성으로 변환되죠. 

Speaking the System Clipboard그림 4 - 시스템 클립보드 말하기

컨테이너의 유형을 식별하기 위해서는 활성화된 선택의 맨 왼쪽 가장자리에 대해 스크린을 스캔한 다음 연속적인 조건문을 사용하여 컨테이너의 고유 아이콘을 식별했습니다. 아이콘을 식별하고 나면 해당 이름을 안드레에게 읽어줍니다. OPTION+COMMAND+I 단축키를 사용하면 선택한 컨테이너의 유형을 식별할 수 있었습니다.

Container Type Conditional Statements그림 5 - 컨테이너 유형 조건문

오디오 파일 가져오기

저희는 오디오 파일을 가져오는 기본 단축키인 SHIFT+I를 그대로 유지하고 VoiceOver를 통해 Audio File Importer 창 제목을 읽어줬습니다. 안드레에게 먼저 컨테이너를 만든 다음 오디오 파일을 하위 계층으로 가져오는 작업 과정을 가르쳐줬습니다. 이 경우 계층 구조에서 Sound SFX 오브젝트 그룹을 선택한 다음 상위 컨테이너를 만드는 것이 실용적이지 않더군요.

Audio File Importer 창에서 문자열 명령어를 사용해서 파일을 추가하고 가져오도록 했습니다. 필요한 명령어의 총 개수를 감안할 때 한정어 단축키에 의존하는 것은 비실현적이었습니다. 계층 구조 밖에서는 접두사 'W W'로 시작하는 문자열 명령어를 사용했습니다. 이 경우 'W W A D D'를 사용하면 파일을 추가하고 'W W I M P'를 사용하여 파일을 가져올 수 있죠. 파일 추가를 선택한 다음 안드레는 VoiceOver를 사용해서 Finder로 간 다음 원하는 파일을 선택했습니다. 파일을 가져오면 모든 하위 계층은 자동으로 계층 구조에서 펼쳐져서 표시됩니다. 

Add Files Macro그림 6 - 파일 추가 매크로

컨테이너 구성하기

컨테이너 설정을 구성하는 데에 매크로가 추가로 필요했습니다. 학생들은 프로젝트에서 Play Mode와 Transitions 설정을 조절해야 합니다. 랜덤 컨테이너를 선택한 채로 OPTION+COMMAND+C를 누르면 지속적인 재생 모드가 선택되고 OPTION+COMMAND+L을 누르면 반복 재생 모드 토글이 활성화되며 SHIFT+COMMAND+D를 누르면 전환 효과가 Delay 유형으로 설정됩니다. 그러면 지속 시간을 초로 입력하라는 청각적 피드백이 제공됩니다.

Delay Transitions Macro그림 7 - Delay 전환 효과 매크로

Sequence Container를 구성하기 위해서 안드레는 먼저 COMMAND+E를 사용하여 Contents Editor로 이동해야 합니다. 이 매크로는 Contents Editor에 있는 첫 번째 항목을 자동으로 선택합니다. 그런 다음 안드레는 COMMAND+C를 사용하여 현재 선택한 항목의 이름을 음성으로 읽어내야 합니다. 그러면 선택한 항목을 식별할 뿐만 아니라 재생 목록에 붙여 넣을 수 있게 클립보드에 복사됩니다. OPTION+COMMAND+P는 재생 목록 영역을 자동으로 클릭하며 복사된 항목을 수직 내림차순으로 붙여 넣습니다. 그런 다음 안드레는 Contents Editor로 돌아가서 재생 목록에 추가된 각 항목에 해당 과정을 반복해야 합니다.

Add to Playlist Macro그림 8 - 재생 목록에 추가 매크로

Event 생성 및 대상 지정하기

새로운 Event를 만들기 위해서 안드레는 먼저 COMMAND+2를 눌러서 Events 탭으로 이동해야 합니다. 이 단축키는 Events 탭에 있는 Default Work Unit을 자동으로 선택합니다. OPTION+COMMAND+E 단축키는 툴바에 있는 Create New Event 버튼을 클릭하고 청각적 피드백으로 말해줍니다.

Event를 만들고 나면 대상을 지정해야 합니다. SHIFT+COMMAND+P는 Add 버튼을 클릭하고 Play 동작을 선택합니다. 'W W B F T' 문자열은 Event Editor에서 동작을 선택한 다음 Browse 버튼을 클릭합니다. Project Explorer 창이 열리고 나면 VoiceOver가 창의 제목을 읽어줍니다. 계층 구조의 콘텐츠가 펼쳐지도록 하기 위해 이 매크로는 자동으로 가장 위에 있는 화살을 우클릭하고 'Expand All'을 선택합니다. 그런 다음 안드레는 위/아래 방향키를 사용해서 계층 구조에서 이동하고 COMMAND+C를 눌러서 현재 선택한 항목의 이름을 음성으로 읽고, 올바른 대상을 식별한 후 'W W O K'를 입력할 수 있습니다. 

Browse For Target Macro 그림 9 - 대상 검색 매크로

Soundcaster

컨테이너를 생성 및 구성하고, 오디오 파일을 가져오고, Event를 만들고 대상을 지정하고 나면 Soundcaster 세션에 Event를 추가해야 합니다. 이미 Soundcaster를 열 수 있는 SHIFT+S가 기본 단축키로 지정되어 있지만 매크로가 Soundcaster를 단지 열기만 하는 것이 아니기 때문에 'W W O S C' 문자열을 사용하도록 했습니다. 이 매크로는 정확하게 대상을 지정할 수 있도록 스크린의 왼쪽 부분으로 창의 위치와 크기를 재지정해줍니다.

창이 열리고 나면 새로운 Soundcaster Session을 만들어야 합니다. 'W W N S C' 문자열은 클릭을 하고 새로운 Soundcaster Session을 만드는 매크로를 실행합니다. 그런 다음 안드레는 세션의 이름을 입력해야 합니다. 그리고 'W W E S C'를 입력하면 Event를 Soundcaster로 옮길 수 있습니다. 이 문자열은 Event Viewer 안을 클릭하고 모든 Event를 선택한 다음 그룹을 클릭하여 대상 Soundcaster 창으로 드래그하여 놓습니다.

Events to Soundcaster Macro그림 10 - Event를 Soundcaster로 옮기는 매크로

Soundcaster Event를 재생하기 위해서는 'W W P S C' 문자열을 사용할 수 있습니다. 이 매크로는 현재 Soundcaster에서 강조 표시된 Event의 재생 버튼을 클릭합니다. 재생을 중단하려면 'W W S S C' 문자열을 사용하여 Soundcaster의 전역적 중단 버튼을 클릭할 수 있습니다. 

SoundBank

안드레가 SoundBank를 작업하려면 먼저 Wwise에서 레이아웃을 변경해야 합니다. 그러기 위해서는 'W W 2' 문자열을 입력합니다 ('W W 1'은 Designer 레이아웃으로 다시 돌아갑니다). 이 문자열은 올바른 동작을 실행한 다음 청각적 피드백을 제공해줍니다. SoundBank 레이아웃으로 바꾸고 나면 COMMAND+3을 눌러서 SoundBanks 탭으로 갈 수 있습니다 (COMMAND+2는 Events 탭으로, COMMAND+1은 Audio 탭으로 이동합니다). SoundBanks Default Work Unit이 자동으로 선택됩니다. 그런 다음 CONTROL+B를 누르면 새로운 SoundBank가 생성되며 Create New SoundBank 툴바 아이템을 자동으로 클릭합니다. 

SoundBank를 만들고 나면 이 뱅크를 활성화해야 합니다. 그러기 위해서 'W W E S B' 문자열을 입력하면 주어진 SoundBank, Mac 플랫폼, 영어 언어가 자동으로 선택됩니다. 

Enable SoundBank Macro그림 11 - SoundBank 활성화 매크로

그런 다음에는 Event를 SoundBank로 추가해야 합니다. 그러기 위해서 'W W E T S' 문자열을 사용하면 Event Viewer 안을 클릭하고, 모든 항목을 선택한 다음, 대상 SoundBank Editor 영역으로 Event를 드래그하여 놓습니다.

Events to SoundBank Macro그림 12 - Event를 SoundBank로 옮기는 매크로

안드레가 'W W G E N'을 입력하면 Generate All 버튼을 클릭해서 SoundBank를 생성하여 프로젝트를 완료할 수 있습니다. 

안드레의 의견

“정말 어렵기는 했지만 Wwise 사용법을 배우는 것이 정말 뜻깊고 보람찬 일이었다고 생각합니다. 이 기회로 이 매크로가 있기 전에는 배울 수 없었던 수많은 시각 장애인 오디오 전문가들에게 Wwise를 배울 수 있는 길이 열릴 수 있으리라 생각해요. 매크로는 정말 훌륭하고 이해하기가 쉬웠습니다. Wwise와 미래의 Audiokinetic 제품들을 사용하여 얼마나 더 나아갈 수 있을 지 기대가 큽니다.” – 안드레 우즈

학생 프로젝트 예시

다음 스크린샷은 안드레가 처음 두 게임 오디오 수업을 완료할 수 있었던 Wwise 프로젝트입니다.

이 프로젝트는 게임 사운드 디자인 수업의 두 번째 프로젝트입니다. 학생들은 Unreal로 제작된 공상 과학 벙커 프로젝트에 사용할 다양한 반복 재생 및 단발성 오디오 에셋을 디자인하고 구현하게 됩니다. 안드레는 성공적으로 Actor-Mixer, Blend, Random, Sequencer Container의 기능을 올바르게 사용할 수 있다는 것을 보여줬습니다.  

Student Sci-Fi Bunker Project그림 13 – 공상 과학 벙커 학생 프로젝트

이 프로젝트는 게임 사운드 디자인 수업의 최종 프로젝트입니다. 안드레는 성공적으로 가상 폴더, 반복재생 Sound SFX, Random Container를 만들고 Soundcaster 세션에 추가된 재생 및 중단 Event를 만들고 대상을 지정했습니다.

Student Platformer Project그림 14 – 플랫포머 학생 프로젝트

이 그림은 프로젝트와 포트폴리오 II:오디오 제작 수업에서 안드레가 유령 묘지 Unity 프로젝트에서 오디오를 구현한 것을 보여줍니다. 안드레는 Event뿐만 아니라 Random 및 Blend Container를 만들고 구성해야 했습니다.

15_image17그림 15 - 유령 묘지 학생 프로젝트

이 그림은 안드레가 프로젝트와 포트폴리오 II: 오디오 제작 수업에서 공상 과학 시설 Unity 프로젝트에서 오디오를 구현한 것입니다. Sequence, Blend, Random Container를 만들고 구성했을 뿐만 아니라 Event를 만들고 대상을 지정했습니다.

Student Sci Fi Facility Project그림 16 - 공상 과학 시설 학생 프로젝트

결론

궁극적으로 저희 접근성 실험에 성공했고 안드레가 Wwise 매크로를 사용하여 처음 두 게임 오디오 수업을 완료할 수 있었습니다. 총 200개 가량의 매크로가 제작되었지만 그 중 반 만을 사용해서 수업 과정을 완료할 수 있었습니다. 계속해서 발전시키고 개선하면서 이 시스템을 사용하여 시각적으로 장애가 있는 학생들을 가르칠 수 있기를 기대합니다.

매크로는 특정 수업 요구 사항을 염두에 두고 만들어졌으며 모든 Wwise 사용자에게 일반적으로 유용하도록 설계되지는 않았습니다. 하지만 이런 종류의 시스템이 저희 교육 과정 밖에서도 어떻게 적용될 수 있는지 계속해서 연구하기를 바라고 있습니다. 최근 몇 년 동안 게임 접근성에 대한 흥미도가 상당히 올라갔지만 게임 개발자를 위한 접근성에 대한 대화는 상대적으로 적습니다. 저희 경험이 게임을 제작하고자 하는 모든 사람들이 힘을 얻을 수 있도록 대화를 이어가는 것에 한 디딤돌이 되기를 바랍니다.

감사의 말씀

처음으로 매크로 사용 실험을 해준 안드레 우즈에게 감사의 말씀을 전합니다. 실험 과정 동안 정확히 원하는 대로 작동하지 않더라도 참을성 있게 유용한 피드백을 제공해줬습니다. 안드레에게 매크로 도구 사용법을 가르쳐준 랩 전문가 카를로스 마퀘즈(Carlos Marquez)에게 감사드립니다. 수업을 통해 안드레를 안내해주고 가르쳐준 교육 감독인 데일 스텀프(Dale Stump)와 마크 핀스키(Marc Pinsky)에게 감사드립니다. 의견, 지도, 피드백을 주신 학과장 토마스 오웬에게 감사드립니다. 마지막으로 이 모든 일이 일어나도록 첫 시작이 되어주신 학과장 브라이언 스미더스에게 감사드립니다.

에릭 버진스(Eric Berzins)

Full Sail(풀 세일) 대학교의 프로젝트와 포트폴리오 VI: 오디오 제작의 교육 감독

에릭 버진스(Eric Berzins)

Full Sail(풀 세일) 대학교의 프로젝트와 포트폴리오 VI: 오디오 제작의 교육 감독

에릭 버진스는 플로리다 윈터 파크시의 Full Sail 대학교에서 오디오 제작을 가르치는 교육자이자 사운드 디자이너입니다.

https://www.linkedin.com/in/ericberzins/

댓글

댓글 달기

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

다른 글

AI를 활용한 Pagan Online의 다이얼로그(대화) 관리 개선

오디오 프로그래밍 / 게임 오디오 / 사운드 디자인 니콜라 루키치 (NIKOLA LUKIĆ) 우리는 인공지능의 연구개발이 상당한 추진력을 얻고 있는 시대에 살고 있습니다....

24.3.2020 - 작성자: 니콜라 루키치 (NIKOLA LUKIĆ)

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...

20.5.2020 - 작성자: 제이미 크로스(JAIME CROSS)

Wwise State-based Mixing의 새로운 기능 - 온갖 파라미터들!

2017.1 이전에는 States 탭에서는 볼륨, 피치, 저역-통과 필터, 하이패스 필터 및 메이크업 게인과 같은 비교적 적은 수의 파라미터에만 액세스할 수...

9.6.2020 - 작성자: Bradley Meyer

UI 설계 관점에서 UI 오디오 접근하기 - 제 1부

어떤 게임에서는 사용자 인터페이스가 플레이어의 전체 경험에 궁극적으로 영향을 거의 미치지 않습니다. 수많은 모바일 게임과 같이 어떤 게임에서는 거의 전체 게임플레이 동안 UI를...

14.10.2020 - 작성자: 조셉 마척(JOSEPH MARCHUK)

Strata 멀티트랙 SFX 라이브러리를 먼저 사용해본 사람들은 이렇게 말했습니다.

Strata의 시작 지난 40~50년 동안 SFX 라이브러리 제작자들은 거의 동일한 방식으로 콘텐츠를 제작하고 배포했습니다.디자인한 사운드를 녹음, 믹싱, 렌더링하고 테마별...

1.12.2022 - 작성자: 시몽 아슈비 (Simon Ashby)

Strata 작업 과정 파워업하기 | 2부 - "연결된 REAPER 프로젝트 열기"

Wwise를 REAPER와 함께 사용하는 사운드 디자이너라면 Wwise에서 작업하는 동안 REAPER에서 사운드를 다시 렌더링하고 싶은 경우가 종종 있습니다. 원래대로라면 관련...

15.8.2023 - 작성자: Audiokinetic (오디오키네틱)

다른 글

AI를 활용한 Pagan Online의 다이얼로그(대화) 관리 개선

오디오 프로그래밍 / 게임 오디오 / 사운드 디자인 니콜라 루키치 (NIKOLA LUKIĆ) 우리는 인공지능의 연구개발이 상당한 추진력을 얻고 있는 시대에 살고 있습니다....

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...

Wwise State-based Mixing의 새로운 기능 - 온갖 파라미터들!

2017.1 이전에는 States 탭에서는 볼륨, 피치, 저역-통과 필터, 하이패스 필터 및 메이크업 게인과 같은 비교적 적은 수의 파라미터에만 액세스할 수...