Wwise를 사용하여 보다 복잡한 MIDI로 제어되는 샘플 악기만들기

상호작용 음악 / 사운드 디자인 / Wwise에 대한 팁과 도구

MIDI 기반 음악으로 되돌아가는 데에 관심이 있는 사람들은, PS4의 내장 신디사이저를 이용할 수 없으며(존재하지 않음) PC 사운드카드의 GENERAL MIDI에 의존할 수도 없다는 것을 알아차릴 것 입니다. WWISE는 현재 내장 SYNTH를 가지고 있지만, 저는 WWISE를 사용하여 여러분만의 리얼리스틱 한 SYNTH를 구축하는 방법을 보여드리고 싶습니다.

이 포스트에서는 MIDI로 제어되는 샘플 악기를 만드는 데 유용한 몇 가지 전략을 살펴보겠습니다. 온라인 WWISE 문서에서 몇 가지 예를 찾을 수 있지만(여러분이 읽었다고 가정하겠습니다) 여기서 좀 더 자세히 살펴보겠습니다. 음을 유지할 수 있고, 동적 레이어가 있으며, 키보드 모드휠로 제어할 수 있는 혼 섹션을 만들 것입니다. 실제로 소리가 꽤 좋을 것입니다!

다음은 모드휠을 조정하면서 라이브로 플레이하는 간단한 데모입니다. 이것은 저의 DAW에 녹음된 Wwise의 아웃풋입니다. Transport의 Wwise "Original" 단추가 선택되어 있지 않습니다. 변환 설정은 2.2 품질의 22k Vorbis입니다. 이 mp3 데모는 혼 섹션이 포함된 사운드뱅크만큼 큽니다.

 

원재료 만들기

원하는 DAW에서 긴 노트를 재생할 수 있는 혼 섹션을 이미 설정했다고 가정하면, 이제 샘플 악기를 샘플링해야 합니다! 이를 위해 샘플링할 노트를 결정해야 합니다. DAW의 샘플 악기와 일대일 비율을 위해서는, 일반적으로 혼 섹션의 범위를 크로매틱으로 통과하여 개별 노트를 샘플링합니다. 하지만 이것은 비디오 게임 개발이고 우리는 리소스를 보존해야 합니다. 이 예에서는 경음기 부분을 마이너 3도 인터벌로 샘플링합니다. 다시 말해, 한 옥타브를 만드는 데 4개의 샘플이 필요하다는 것을 의미합니다. C부터 시작하면 C, D#, F#, A가 되겠습니다. 누락된 노트는 샘플을 위아래로 1 세미톤을 피치 조정하여 커버됩니다. 저는 완전 4도와 같은 더 큰 간격을 두고 시도해 보았지만, 각 샘플에 더 큰 범위를 지정하면 아티팩트가 나타납니다. 예를 들어, 혼 섹션에 잔향이 많은 경우 각 표본 범위의 가장자리에서 잔향의 크기가 대폭 작아진다는 것을 눈치챌 수 있습니다.

자, 우리는 혼 섹션을 모드휠로 제어할 수 있기를 원하기 때문에, 우리는 샘플링 하면서 이 부분을 설명해야 합니다. 제조업체에 따라, 여러가지 다른 샘플을 크로스 페이드 하고 저역 통과 필터를 변조하여 다이내믹을 변화시키는 혼 섹션의 음색 이동을 상용 라이브러리에서 흉내 낼 수 있습니다. 모드휠을 천천히 이동하면서 혼 섹션을 주의 깊게 들어보세요. 크고 부드러운 층이 교차하는 곳이 어디인지 들리시나요? 네, 저도 들리지 않아요. 하지만, 저는 운이 좋게도 모드휠을 가지고 끝까지 올렸을 때와 그리서 나서 중간에서 샘플링을 해서 필요한 최종 결과를 얻었습니다. 모드휠은 보통 CC1이며 우리는 지금 MIDI에 대해서 이야기하고 있으므로, 127 및 64의 CC1 값과 일치합니다.

하지만 잠시만요, 샘플을 얼마나 길게 만들어야 하나요? Wwise의 Source Editor 덕분에  이 점은 중요한 디테일이 아님을 나중에 보시게 될 것입니다. 되돌아오는 잔향 꼬리 부분이 울릴 수 있는 충분한 공간만 남겨두세요.  또한, 서스테인이 길게 유지되는 혼 노트는 대개 연속적으로 재생되지 않기 때문에, 우리는 단 하나의 베리에이션만 가지고도 벗어날 수 있습니다. 상업용 샘플 악기를 파보면 (Kontakt에서 렌치 아이콘을 눌러서), 단 한 가지 베리에이션만 있는 것을 볼 수 있습니다.

저의 세션에서 보이는 CC1 64에서 세 옥타브의 모습입니다:

Picture1-11.png

 

첫 번째 노트 가져오기

가져올 때는 먼저 하나의 노트만 수행하세요. 나중에 그 이유를 알게 될 거예요. 더 상위 레벨의 구조를 먼저 보여드리겠습니다.

Picture2-9.png

다음은 저의 첫 번째 노트의 MIDI 설정입니다:

Picture3-4.png

 

노트 트래킹은 이 오디오 오브젝트가 어떤 MIDI 노트를 수신하던, 일치하도록 피치 조절된다는 것을 의미합니다. 그래서 만약 C3가 들어온다면, Wwise는 그것을 맞추기 위해 1200센트를 올려주었을 것입니다. 그러나 앞서 설명한 것처럼 그렇게 좋게 들리지는 않을 것이므로 키 범위 필터를 사용하여 이 샘플을 추적할 노트 범위를 정의할 것입니다. 혼 섹션을 마이너 3도로 샘플링했으므로, 각 샘플은 루트 노트(C2)와 한 세미톤 위(C#2) 및 아래(B1)의 3개의 노트를 커버합니다.

MIDI 및 CC 데이터 라우팅

샘플 악기를 테스트하기 위해 MIDI를 여러분의 DAW에서 Wwise로 라우팅할 수 있습니다. 이 내용은 다른 문서에서 다루어졌기 때문에 세부 사항을 짚고 가긴 어렵겠네요. MIDI가 Wwise로 전환되면, 맞는 노트를 누르면 혼 샘플을 재생할 수 있습니다. 모드휠을 Wwise에서 작동하게 하려면 추가적으로 Control Surface Binding을 설정해야 합니다. MIDI 노트가 이미 입력되어 있는 경우 Wwise에서 학습한 MIDI는 모드휠의 이동을 즉시 선택하지만, 바인딩은 한 채널에만 한정된다는 것을 알 수 있습니다. 저희 혼 섹션에는 채널 필터 세트가 없으므로, 지금은 괜찮습니다. 그림과 같이 "Current Selection" 그룹 아래에 새 바인딩을 추가합니다:

Picture4-1.png

 

CC1 바인딩이 설정되면, 해당 바인딩에 대한 RTPC 곡선을 추가해야 합니다. 아래 그림과 같이 CC1 127 샘플의 보이스 볼륨과 저역 통과 필터를 모두 제어하기 위해 CC1을 사용했습니다:

Picture5-1.png

CC1 64 샘플은 다음과 같이 표시됩니다:

Picture6-3.png

두 가지가 합쳐진 효과로 모드휠이 올라가면서 CC1 127 샘플이 페이드 인되고 CC1 64 샘플이 페이드 아웃되는 것을 볼 수 있습니다. 이때 가상 보이스 설정도 "Play from elapsed time"으로 설정해야 합니다. 물론, 여러분은 샘플이 원샷으로만 재생되고 루프 되지 않는다는 것을 지금쯤 알아차렸을지도 모릅니다.

루프 정의하기

다음으로 루프 포인트를 정의하겠습니다. 다른 루프 사운드에 대해 일반적으로와 같이 오디오 오브젝트를 루프로 설정합니다. 각 샘플에 대한 소스 편집기를 불러옵니다. 여기서 루프 포인트을 수동으로 정의할 수 있습니다.  여기서 제가 설정하게 된 루프 포인트는 다음과 같습니다:

Picture7-1.png

파일의 끝나는 지점을 이동하는 것을 잊지 마세요. 루프 지점을 설정하면 이 파일의 전체 오른쪽 절반이 사용되지 않습니다. 여러분이 완벽주의자라면, 이렇게 루프 포인트를 설정하는 것은 여러분에게 만족스럽지 않을 수도 있지만, 어쨌든 여러분은 한 노트를 10초 동안 터뜨리고 싶지 않을 것이라는 것을 기억하세요.

*팁: 슬라이더에서 허용하는 것보다 긴 크로스페이드 길이를 수동으로 입력할 수 있습니다.

엔벨로프와 릴리즈

루프 포인트를 설정한 후 혼 섹션을 테스트했다면 이제 혼이 멈추지 않는다는 것을 알아차렸을 것입니다. 이 문제를 해결하려면 엔벨로프를 추가해야 합니다. 다음은 제가 좋아했던 저의 설정값입니다:

Picture8-1.png

가장 중요한 부분은 "Stop playback after release"입니다.

CC1 127 및 CC1 64 샘플에 보이스 볼륨에 대한 새 RTPC 곡선을 추가하고, 새로 만든 엔벨로프를 사용하여 보이스 볼륨을 제어합니다. RTPC 곡선의 기본 기울기는 정상 작동해야 합니다. 저의 CC1 127 샘플은 지금과 같이 보입니다 (엔벨로프 RTPC 곡선만 선택되었을 경우).

Picture9-1.png

혼 섹션을 다시 테스트하면, 노트를 놓았을 때 루프가 0.5초에 걸쳐 페이드 아웃되는 것을 알아차릴 수 있습니다. 잔향의 자연스러운 디케이가 없기 때문에 부자연스럽게 들릴 것입니다.

이 문제를 해결하기 위해 CC1 127과 64 모두에 대한 릴리스 샘플을 만들 것입니다. 가장 쉬운 방법은 샘플 2개를 복사 붙여넣기하는 것입니다. 이제 C2 노트 안에 4개의 샘플이 포함되어 있습니다.

Picture10-1.png

이제 이러한 복사본들에 대한 설정을 변경합니다.

  • "Looping" 선택 해제
  • 엔벨로프가 있는 RTPC 곡선 삭제
  • MIDI에서, MIDI Event - Play On - "Note-On"을 "Note-Off"로 변경

그런 다음 이 릴리스 샘플의 소스 편집기를 열고 파일의 맨 끝에 있는 잔향 꼬리를 제외한 모든 항목을 잘라냅니다. 이것이 제 릴리즈 샘플의 모습입니다.

Picture11-1.png

페이드 인이 있습니다. 페이드인을 엔벨로프 설정에서 릴리스 시간으로 지정한 페이드아웃과 일치시키도록 노력하세요. 목표는 릴리스 샘플이 재생될 때 볼륨이 눈에 띄게 점프하지 않는 것입니다.

릴리스 샘플이 설정되면 혼 섹션이 훨씬 더 자연스럽게 들립니다.

*팁: 소스 편집기 창에 느낌표가 표시된다면, Crossfade 길이를 다시 0으로 변경하세요.

전체 범위 완료하기

이제 한 개의 노트를 끝냈으므로, 혼 섹션의 나머지 범위에서도 이러한 단계를 반복할 수 있습니다. 방금 작성한 노트를 나머지 노트의 가져오기 템플릿으로 사용하여 시간을 절약할 수 있습니다. 그러나 루프 포인트를 설정하고 릴리스 꼬리를 자르려면 여전히 각 샘플의 소스 편집기로 들어가야 합니다.

이 모든 작업을 완료했으면, 일부 오브젝트의 이름을 바꾸고 싶을 수도 있을 겁니다. 저는 "01_", "02_" 등을 모든 노트의 앞에 추가하여 음정에 따라 레이아웃을 더 잘 반영할 수 있도록 알파벳순으로 정렬합니다. 저의 완성된 혼 섹션은 다음과 같이 보입니다.

Picture12-1.png

 

변환 설정 및 성능

이 모든 것을 가능한 한 작은 크기로 포장하려면 다음과 같은 몇 가지 팁이 있습니다:

  • CC1 64 샘플의 경우 더 낮은 샘플링 레이트를 사용합니다. 모드휠이 내려간 상태에서 혼 부분은 어쨌든 하이엔드가 많이 나오지 않습니다.
  • 릴리스 샘플을 대체할 수 있는 잔향을 설정할 수 있습니다.
  • 낮은 노트에 대해 더 낮은 샘플링 속도를 사용합니다. 특히 따로 분리되어 거의 들리지 않을 경우 더욱 그렇습니다.
  • 더 짧은 루프를 사용합니다. 다시 말씀드리지만, 낮은 노트와 CC1 64 샘플이 이에 적합한 후보입니다.

 

최종적으로, 저의 세 옥타브 혼 섹션의 데이터 크기는 약 0.74mb에 불과합니다.

Picture13-3.png

 

마지막 생각

이것이 Wwise를 위한 자신만의 샘플 악기를 만드는 전략을 개발하는 데 도움이 되었기를 바랍니다. 이것은 확실히 새로운 워크플로우입니다. 또한 DAW에서 Wwise로 변환하는 것이 정확하지 않다는 것을 알 수 있습니다. 몇몇 상업 라이브러리들은 꽤 화려한 프로그래밍을 하고 있고, 그것은 여러분이 Wwise에 실제로 가져올 수 있는 것을 제한할 수 있습니다. 악기가 라운드 로빈을 처리하는 방법과 같은 간단한 기능도 예상치 못한 결과를 초래할 수 있습니다. 이러한 과정에서 Wwise에 대한 깊은 이해는 의심할 여지없이 도움이 됩니다. 게임 오디오가 MIDI 경로에서 계속 작동하면 "Technical Music Designer"가 실현되는 것을 볼 수 있습니다.

 

법적 공지

자체적으로 혼 섹션을 녹음할 계획이 아니라면, 이 프로세스와 함께 상업용 사운드 라이브러리를 사용할 것입니다. 비록 우리가 원 샘플을 직접 사용하지는 않을 것이고 일반적으로 많은 혼 섹션을 레이어 해서 꽉 찬 사운드를 만들지만, EULA를 확인하거나 전자 메일을 보내 명확히 하세요. 일부 업체들은 '안 된다'고 답하기도 했습니다. 이것은 게임 오디오의 새로운 영역입니다.

 

 

다니엘 벡 (DANIEL BECK)

리드 오디오 엔지니어

시티 스테이트 엔터테인먼트(City State Entertainment)

다니엘 벡 (DANIEL BECK)

리드 오디오 엔지니어

시티 스테이트 엔터테인먼트(City State Entertainment)

대니얼 벡은 현재 카멜롯 언체인드(Camelot Unchained)에서 일하고 있는 시티 스테이트 엔터테인먼트(City State Entertainment)의 수석 오디오 엔지니어입니다. 그는 스피커 콘에 부착된 자석을 움직이는 전기 신호를 주의 깊게 튜닝하는 일을 7년 이상 해오고 있습니다.

 @dpbsound

댓글

댓글 달기

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

다른 글

WAAPI 간소화하기

Wwise 저작 API (Wwise Authoring API, WAAPI)를 사용하신 적이 없으시다면 이 글을 통해 사용해볼 기회가 생기기를 바랍니다. 네, 프로그래머가 아닌...

4.11.2020 - 작성자: Adam T. Croft

가상 음향을 통해 소리 풍경 가청화하기

이 시리즈에서는 과거, 현재, 그리고 새로운 잔향 기술을 집중적으로 살펴보고 몰입적 공간적 관점에서 이 기술을 검토해봅니다. 이전 글에서는 가상 현실에서 몰입적인 잔향을 제작하는...

16.3.2021 - 작성자: 브누아 알라리 (BENOIT ALARY)

Wwise 2022.1 새로운 기능

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

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

Wwise 2022.1에서의 SDK 런타임 성능 개선

이 글에서는 Wwise 2022.1의 런타임에서 CPU 사용량에 대한 몇 가지 개선 사항을 살펴보게...

5.12.2022 - 작성자: 데이비드 크룩스 (David Crooks)

대사 | Wwise와 Unreal Engine에서의 나레이션

현대 게임의 필수 요소 중 하나인 보이스오버 대사는 플레이어가 캐릭터를 특정 목소리와 연관지을 수 있을 뿐만 아니라 전반적인 억양을 통해 캐릭터의 감정을 더 잘 이해할 수 있게...

11.4.2023 - 작성자: Jake Gamelin (제이크 겜린)

Unreal Engine에서 AudioLink를 사용하는 방법

소개 이 글에서는 Unreal Engine의 AudioLink를 집중적으로 살펴보려고 합니다.이 작업은 다음 버전을 사용하여 검토되었습니다....

15.8.2024 - 작성자: 히로시 고다 (Hiroshi Goda)

다른 글

WAAPI 간소화하기

Wwise 저작 API (Wwise Authoring API, WAAPI)를 사용하신 적이 없으시다면 이 글을 통해 사용해볼 기회가 생기기를 바랍니다. 네, 프로그래머가 아닌...

가상 음향을 통해 소리 풍경 가청화하기

이 시리즈에서는 과거, 현재, 그리고 새로운 잔향 기술을 집중적으로 살펴보고 몰입적 공간적 관점에서 이 기술을 검토해봅니다. 이전 글에서는 가상 현실에서 몰입적인 잔향을 제작하는...

Wwise 2022.1 새로운 기능

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