Generating Rain With Pure Synthesis

Contenu sonore pour les jeux vidéo / Conception sonore / Outils et conseils pour 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

Commentaires

Laisser une réponse

Votre adresse électronique ne sera pas publiée.

Plus d'articles

Version Control of Wwise Project Files

Most game developers use a version control system to store their project files and facilitate the...

22.5.2018 - Par Guillaume Renaud

Tips for Checking & Managing Audio Assets Using Wwise Queries

Wwise Queries, found in the Queries tab, are a powerful search tool that use a series of...

21.5.2019 - Par Coffee Wu

Don't Even Ask How I Did It! Instructions for the 5-Minute Entry-Level Track Swapping Challenge

Here are the steps I took during my live 5-minute challenge, along with a couple of tips about the...

28.5.2019 - Par George A. Sanger

The Sound of The Outer Worlds: Part 1

The Obsidian audio team is pleased to share with you this two-part, in-depth look at how we used...

29.10.2019 - Par Obsidian Entertainment

How Multiplayer Games Are Using Voice Chat To Revolutionize The Player Experience

Mobile and console gaming are having a heyday right now, as most people are stuck at home to fight...

7.4.2020 - Par TechJVB

Making Interactive Music in Real Life with Wwise

I decided to dive deeper into interactive audio some time ago. I wanted to create a project related...

25.2.2021 - Par Ressa Schwarzwald

Plus d'articles

Version Control of Wwise Project Files

Most game developers use a version control system to store their project files and facilitate the...

Tips for Checking & Managing Audio Assets Using Wwise Queries

Wwise Queries, found in the Queries tab, are a powerful search tool that use a series of...

Don't Even Ask How I Did It! Instructions for the 5-Minute Entry-Level Track Swapping Challenge

Here are the steps I took during my live 5-minute challenge, along with a couple of tips about the...