menu
 

Generating Rain With Pure Synthesis

游戏音频 / 声音设计 / Wwise 技巧和工具

A few years ago, I wondered whether it was possible to synthesize whatever I wanted. I started by synthesizing nature sounds: wind, birds singing, insects chirping, and much more. Reverse engineering is perfect for such an endeavor. First, a spectrum analysis is performed, then aspects like waveform and pitch are recreated.

After successfully experimenting with nature sounds (a sample video is at the end of this article), I decided to create dynamic weather that could be changed simply by adjusting a simple parameter from the game engine. Once again, I began with an analysis before proceeding to recreate the sounds using synthesizers. Procedural dynamic rain is an excellent example, especially because a simple Wwise parameter can change the sound from light rain to pouring rain.

Procedurally generated dynamic rain in Wwise

Research 

As I can't just recreate the sound of rain by watching its spectrum or waveform, I decided to scour the internet to research this topic. I found a meaningful paper from Cornell called "Toward Animating Water with Complex Acoustic Bubbles". It contains great work, and worth the read.

These were the main conclusions I drew from this research paper:

  • The sound of liquid is actually made from the sounds of multiple bubbles.
  • The sound of a bubble (or water drop) is a sine wave with a modulated pitch and duration of about 10-20 ms.
  • The tone of the sine wave depends on how near the bubble is to the surface of the liquid.
  • The shape of the bubble affects the pitch modulation.  

Through this, I realized that the sound of rain is comprised of the sound of millions of bubbles merging each second to form a spectrum resembling a noise-like sound (pink noise, to be more precise). 

Based on this idea, I created a prototype of dynamic rain in Ableton Live using Serum. I split the whole sound into a few layers:

1. Light high-frequency boiling
2. Mid-frequency boiling
3. Stereo noise
4. Individual raindrops 

To make it more realistic, I cross-referenced my prototype with a sample of recorded rain.

The rain sound prototype

Recreating in Wwise 

The next step was to use Wwise synthesizers to create rain. Layer by layer, I recreated everything that was in the prototype.

Step 1: Boiling  

Using Wwise Synth One, I started with pure white noise. Then, with the help of a Random Modulator, I adjusted the Make-up Gain. This made the sound become granular.

Boiling layer in Wwise

Next, I added Parametric EQ to the Effects chain. Parametric EQ consists of two band pass filters: 

rain_01

Add random peaks among the middle frequencies to create a bubble-like sound

rain_02

By adding the Random LFO to the Band 2 Frequency parameter, I incorporated more randomness to the Frequency of the second filter.

rain_03

Lastly, to complete the final timbre, I added one more EQ with High Pass and Low Pass filters. These filters slightly attenuate high and low frequencies.

As a finishing touch, I used Wwise Harmoniser. I liked how it created a tonal character to complement the boiling sound. This step is purely optional, but I loved the result it produced.

Step 2: Low Boiling

Low Boiling layer in Wwise

This layer was also made based on the prototype I created in Ableton Live.

I made this sound based on Pink Noise in Wwise Synth One. To create the boiling effect, I used the same technique of adding Parametric EQ with Random LFO to the Frequency of the second filter. This LFO produces quite frequent filter movement—more than 100Hz.

rain_04

I had wanted to create not just the sound of rain but also a dynamic rain system that changed rain intensity depending on the parameter, which is the RTPC parameter called Rain_intensity, from the game engine. This parameter changes many of the settings for rain, filter settings, and the volume of the Low Boiling layer.

rain_05

rain_06

Step 3: Stereo Noise

This layer creates the illusion of real rain. To make the sounds wide, I made a few copies of the same Pink Noise and hard-panned them to the left and right.

Stereo noise layer in Wwise

Both synths were processed using a soft EQ.

Depending on the Rain_intensity RTPC, this layer not only becomes quieter or louder, but the Frequency of the filter also changes.

rain_07

rain_08

Step 4: Raindrops

Raindrops layer in Wwise

Based on my Ableton prototype, I also made the sound of individual raindrops. I created one more instance of the Wwise Synth One with the sine wave. 

rain_09

The Envelope modulator adjusts the volume similarly to how I did with the Serum prototype. 

rain_10

rain_11

To make the sine wave change its pitch, I added an Envelope modulator to the Transpose parameter. 

The next step would be to randomize the trigger rate, pitch, volume, and pan.  A Random Container would be a great solution for this.

Conclusion

This procedurally generated rain can become part of a larger dynamic weather system in your game. However, you'll probably need to make more nature sounds.

Here's a good example from one of my earlier experiments. It features pure, synthesized nature sounds for World of Tanks. Everything you'll hear from the video is synthesized: wind, birds, insects, etc. Such prototypes will help you build similar systems in Wwise.

Video prototype of nature sounds in World of Tanks

Thank you for reading this article. I hope you'll find this useful for your next project. In my next article, I'll reveal how we use Wwise to make audio systems in World of Tanks. 

Aleksandr Khilko

Lead Audio Designer

Wargaming

Aleksandr Khilko

Lead Audio Designer

Wargaming

Aleksandr is a Lead Audio Designer at Wargaming. He is a part of Audio Design Team working on sound for the World of Tanks – online multiplayer game.

https://worldoftanks.com/

 @iamalexmars

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

“零代码”开发小游戏—UE4蓝图与Wwise结合的设计思路 - Part 2

请阅读本文第一部分。

3.2.2020 - 作者:伍岚珊

连通 Wwise 和 REAPER – 第 1 部分:WAAPI Transfer

也许大家对 WAAPI Transfer 并不陌生,但我还是觉得有必要详细地说一说。WAAPI Transfer 是一款开源的 REAPER 扩展插件,方便将音频素材直接从 REAPER 导出到...

18.5.2020 - 作者:尼古拉·卢基奇 (Nikola Lukić)

《Divinuet》的互动音乐系统 – 第 2 部分

大家好,第二篇博文出炉了!在此,我将进一步探讨本人即将推出的塔罗牌音乐生成游戏《Divinuet》。如尚未阅读第 1 部分,建议先点击此处查看。 正如我在第 1 部分中所说,该游戏大致分为 2...

26.1.2021 - 作者:梅根·卡恩斯 (Megan Carnes)

在 Wwise 中使用音乐设计模板来加快游戏音乐制作流程

在 2019 年 Wwise 互动音乐研讨会上,Foxface Rabbitfish 作曲家兼音频总监盖·惠特莫尔 (Guy Whitmore)...

12.5.2021 - 作者:盖·惠特莫尔(GUY WHITMORE)

《遍体鳞伤(Scars Above)》中的音频优化实践

简介 在本文中,我会试着阐释团队在对《Scars...

14.10.2024 - 作者:Milan Antić

《星球大战 绝地:幸存者》背后的声音设计 | Respawn 音频团队访谈

《星球大战 绝地:幸存者》是 Respawn Entertainment 与 Lucasfilm Games...

16.10.2024 - 作者:Respawn Entertainment (重生娱乐)

更多文章

“零代码”开发小游戏—UE4蓝图与Wwise结合的设计思路 - Part 2

请阅读本文第一部分。

连通 Wwise 和 REAPER – 第 1 部分:WAAPI Transfer

也许大家对 WAAPI Transfer 并不陌生,但我还是觉得有必要详细地说一说。WAAPI Transfer 是一款开源的 REAPER 扩展插件,方便将音频素材直接从 REAPER 导出到...

《Divinuet》的互动音乐系统 – 第 2 部分

大家好,第二篇博文出炉了!在此,我将进一步探讨本人即将推出的塔罗牌音乐生成游戏《Divinuet》。如尚未阅读第 1 部分,建议先点击此处查看。 正如我在第 1 部分中所说,该游戏大致分为 2...