menu
 

합성 만으로 빗소리 만들기

게임 오디오 / 사운드 디자인 / Wwise에 대한 팁과 도구

몇 년 전 저는 원하는 모든 사운드를 합성할 수 있을까 하는 궁금증이 생겼습니다. 바람, 새 노랫소리, 곤충 소리 등 다양한 자연 소리를 합성하기 시작했죠. 이런 작업에서는 역설계 (reverse engineering)가 아주 유용합니다. 저는 먼저 스펙트럼 분석을 실행한 후 파형과 피치를 재현했습니다.

자연 소리를 성공적으로 실험해본 후 (이 글의 끝에 샘플 비디오를 추가해두었습니다) 저는 게임 엔진에서 매개 변수를 통해 쉽게 변경할 수 있는 동적 날씨를 만들어보기로 했습니다. 다시 한번 저는 신시사이저를 사용하여 사운드를 재현하기 전에 먼저 사운드를 분석했습니다. 간단한 Wwise 매개 변수 하나로 잔잔한 가랑비에서 억수로 쏟아지는 비로 변경할 수 있는 절차적 동적 빗소리는 이러한 작업의 아주 좋은 예시입니다.

Wwise 안에서 만든 절차적으로 생성되는 동적 빗소리

연구

단지 스펙트럼이나 파형을 보는 것만으로 빗소리를 재현할 수 없기 때문에, 이 주제에 관해 인터넷 검색을 해보기로 했습니다. 그리고 Cornell(코넬)에서 발표한 'Toward Animating Water with Complex Acoustic Bubbles (복잡한 음향 거품으로 물 애니메이션 하기)'라는 중요한 논문을 찾았죠. 정말 멋진 작업이었고 충분히 읽을만한 가치가 있는 논문이었습니다.

저는 이 연구 논문을 통해 다음과 같은 주요 결론을 내렸습니다.

  • 액체 소리는 사실 수많은 거품 소리로부터 만들어집니다.
  • 거품 (혹은 물방울) 피치가 변조되었으며 10-20 ms 정도 지속되는 정현파입니다.
  • 정현파의 음색은 거품이 액체로부터 얼마나 가까이 있는지에 따라 달라집니다.
  • 거품의 모양은 피치 변조에 영향을 줍니다

이를 통해 저는 빗소리가 수천만 개의 물거품이 초마다 서로 겹쳐지면서 마치 소음 (정확히 말하면 분홍색 소음)과 비슷한 스펙트럼을 형성하는 소리라는 사실을 알게 되었죠. 

이 아이디어를 통해 저는 Ableton Live에서 Serum을 사용하여 동적 빗소리의 프로토타입을 만들어냈습니다. 저는 전체 사운드를 몇 가지 레이어로 나누었습니다.

1. 가벼운 고주파의 거품 끓는 소리
2. 중주파의 거품 끓는 소리
3. 스테레오 소음
4. 개별적 빗방울 소리

소리를 더욱 현실적으로 만들어주기 위해서 저는 실제 녹음된 빗소리 샘플을 사용하여 제 프로토타입을 교차 참조했습니다.

빗소리 프로토타입

Wwise에서 재현하기

다음 단계는 Wwise 신시사이저를 통해 빗소리를 만드는 것이었습니다. 저는 프로토타입에 있었던 것을 레이어마다 모두 재현했습니다.

1 단계: 거품 끓는 소리 

Wwise Synth One을 사용하여 먼저 완전한 백색 소음을 만들었습니다. 그런 다음 Random Modulator를 통해 보충 게인(make-up gain)을 조정했죠. 이를 통해 소리를 더욱 입상적으로 만들 수 있게 되었습니다.

Wwise에서의 끓는 소리 레이어

다음으로 저는 Effects 체인에 Parametric EQ를 추가했습니다. Parametric EQ는 두 가지 대역 통과 필터로 구성되어 있습니다: 

rain_01

저는 중주파 사이에 랜덤 피크를 추가하여 물거품 같은 소리를 만들었습니다.

rain_02

Band 2 Frequency 매개 변수에 Random LFO 추가함으로써 저는 번째 필터의 주파수를 더욱 랜덤하게 만들어주었습니다.

rain_03

마지막으로 최종 음색을 완성하기 위해 EQ를 한 번 더 추가하여 High Pass와 Low Pass 필터를 적용해 주었습니다. 이 필터는 고/저 주파수를 약간 감쇠해 줍니다.

그리고 마지막으로 Wwise Harmonizer를 사용했습니다. 저는 이 효과가 주는 물거품이 끓는 소리에 음색적인 특성이 아주 맘에 들었습니다. 이 단계가 꼭 필요한 것은 아니지만 이를 통해 생성된 결과가 아주 만족스러웠습니다.

2 단계: 낮은 거품 끓는 소리

Wwise에서의 낮은 거품 끓는 소리 레이어

이 레이어도 마찬가지로 제가 Ableton Live에서 만든 프로토타입을 기반으로 합니다.

저는 이 소리를 Wwise Synth One에서 분홍색 소음을 기반으로 만들었습니다. 거품이 끓는 효과를 만들기 위해 저는 동일한 기술을 사용하여 두 번째 필터의 주파수에 Random LFO가 있는 Parametric EQ를 추가했습니다. 이 LFO는 100Hz가 넘게 필터를 꽤나 자주 움직여줍니다.

rain_04

저는 빗소리뿐만 아니라 게임 엔진에서 Rain_intensity라는 RTPC 매개 변수를 사용하여 빗소리의 강도를 변경하는 동적 빗소리 시스템을 만들고 싶었습니다. 이 매개 변수는 빗소리, 필터 설정, 낮은 끓는 소리 레이어의 볼륨과 같은 다양한 설정을 변경합니다.

rain_05

rain_06

3 단계: 스테레오 노이즈

이 레이어는 실제 빗소리와 같은 환상을 만들어줍니다. 소리를 넓게 만들어주기 위해서 저는 같은 분홍색 소음을 여러 번 복사하여 좌우로 패닝했습니다.

Wwise에서의 스테레오 소음 레이어

두 신시사이저는 모두 약간의 EQ를 사용하여 처리되었습니다.

Rain_intensity RTPC에 따라 이 레이어는 소리가 작아지거나 커질 뿐만 아니라 필터의 주파수 또한 변경됩니다.

rain_07

rain_08

4 단계: 빗방울 소리

Wwise에서의 빗방울 소리 레이어

제 Ableton 프로토타입과 같이 저는 개별적인 빗방울 소리도 만들고 싶었습니다. 그래서 Wwise Synth One의 인스턴스를 하나 더 만들어 정현파를 만들도록 설정했습니다. 

rain_09

Envelope 변조기(modulator) 제가 Serum 프로토타입에서 것과 유사하게 볼륨을 조정해 줍니다

rain_10

rain_11

정현파의 피치를 변경하기 위해서 저는 Transpose 매개 변수에 Envelope 변조기를 추가했습니다. 

그다음으로 트리거 비율, 피치, 볼륨, 패닝을 랜덤화해야 합니다. 이 작업은 Random Container를 사용하여 손쉽게 진행할 수 있죠.

결론

절차적으로 생성되는 이 빗소리는 게임에서 더욱 큰 규모의 동적 날씨 시스템의 일부로 사용할 수 있습니다. 하지만 자연 소리를 더 많이 만들어야 하겠죠.

다음 영상은 제 초기 실험 중 한 가지 좋은 예시입니다. 월드 오브 탱크에 사용된 순수히 합성된 자연 소리를 들어보실 수 있습니다. 바람, 새, 곤충 소리 등 이 영상에서 들리는 모든 소리는 합성으로 만들어졌습니다. 이러한 프로토타입은 Wwise에서 비슷한 시스템을 만드는 데에 도움을 줍니다.

월드 오브 탱크의 자연 소리 프로토타입 영상

이 글을 읽어주셔서 감사합니다. 다음 프로젝트에 사용할 수 있는 유용한 정보가 되었으면 합니다. 다음 글에서는 Wwise를 사용하여 월드 오브 탱크의 오디오 시스템을 만드는 법을 소개해드리겠습니다. 

알렉산더 킬코(ALEKSANDR KHILKO)

리드 오디오 디자이너

Wargaming(워게이밍)

알렉산더 킬코(ALEKSANDR KHILKO)

리드 오디오 디자이너

Wargaming(워게이밍)

알렉산더는 Wargaming의 리드 오디오 디자이너입니다. 온라인 멀티플레이어 게임인 World of Tanks(월드 오브 탱크)의 사운드 작업을 하는 오디오 디자인 팀에 속해 있습니다.

https://worldoftanks.com/

 @iamalexmars

댓글

댓글 달기

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

다른 글

동적 음악 설계에 관하여 - 제 1부: 설계 분류하기

설계 계기 저는 2015년에 오디오 게임 엔지니어로서 처음 일을 하게 되면서 그 당시 저의 아트 디렉터를 통해 Wwise를 접하게 되었습니다. 그전에 저는 게임 음악을 작곡하는...

7.10.2020 - 작성자: 천종 호우 (Chenzhong Hou)

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 1부

많은 사운드 디자이너들이 오디오 플러그인 개발을 오디오 프로그래머의 '흑마법' 영역이라 생각합니다. 보통 코딩 기술뿐만 아니라 수학, 물리학, 디지털 신호 처리 등 사운드...

17.11.2020 - 작성자: 천종 호우 (Chenzhong Hou)

게임 사운드 보관 | 제 1부: 기본 지식

게임 업계에서 사운드 보관은 상당히 민감한 부분입니다. 데모씬과 레트로 게임에 각별한 애정이 있든, 혹은 최신 도구와 엔진으로 작업하는 사운드 전문가이든 (아니면 옛날 사운드에 푹...

9.9.2021 - 작성자: 파니 러비야르 (Fanny REBILLARD)

임펄스 응답 리버브로 현실감 있는 사운드 만들기

임펄스 응답은 실제 공간을 초현실적으로 재구현하는 것으로 유명합니다. 최고 품질의 임펄스 응답을 녹음하는 것은 다소 기술적이며 고급 장비가 필요한 일입니다. 공간적인 품질을 갖춘...

8.9.2023 - 작성자: BOOM Library

Scars Above(스카스 어보브)의 오디오 최적화 모범 사례

소개 이 글에서는 게임 스카스 어보브(Scars Above)를 프로파일링하고 오디오를 최적화하는 데 적용한 다양한 원칙을 설명해드리려고 합니다. 사운드 디자이너분들에게 저희가 겪은...

12.3.2025 - 작성자: 밀란 앤틱(Milan Antić)

Wwise로 게임 마스터링하기 | 제 2부: Mastering Suite 프리셋 및 사용 방법

2부로 구성된 블로그 시리즈의 제 1부에서는 게임 마스터링에 접근하는 방식을 다루었습니다. 여기에서는 Mastering Suite에 담긴 여러 가지 프리셋을 언제 어떻게...

26.3.2025 - 작성자: 로익 쿠티에(Loïc Couthier) & 단제리 스켐브리(Danjeli Schembri)

다른 글

동적 음악 설계에 관하여 - 제 1부: 설계 분류하기

설계 계기 저는 2015년에 오디오 게임 엔지니어로서 처음 일을 하게 되면서 그 당시 저의 아트 디렉터를 통해 Wwise를 접하게 되었습니다. 그전에 저는 게임 음악을 작곡하는...

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 1부

많은 사운드 디자이너들이 오디오 플러그인 개발을 오디오 프로그래머의 '흑마법' 영역이라 생각합니다. 보통 코딩 기술뿐만 아니라 수학, 물리학, 디지털 신호 처리 등 사운드...

게임 사운드 보관 | 제 1부: 기본 지식

게임 업계에서 사운드 보관은 상당히 민감한 부분입니다. 데모씬과 레트로 게임에 각별한 애정이 있든, 혹은 최신 도구와 엔진으로 작업하는 사운드 전문가이든 (아니면 옛날 사운드에 푹...