We recently released a new GameSynth video featuring a complete procedural audio model for a dragon, including sound effects for the roar, fire breath, wings, footsteps and tail.
Once exported in binary format, all the sound data fits in less than 6 kB, is fully controllable from the game, and allows for the automatic generation of variations. We got a lot of questions about how it was done, so in this post we will explain how we designed the procedural audio patches for the video.
All the patches you can hear above are using GameSynth’s Whoosh and Modular models. These patches are also included as presets in the GameSynth Tool so you can use them as a basis to create other monsters if you want. Should you need specific models of creatures, aliens etc. for your game or movie, our R&D team can also develop a special tool and/or engine just for you, so don’t hesitate to contact us!
The wings were done by layering two patches together. We first started by designing the sound with the Whoosh model to get a nice aerial feeling.
Then we added a modular patch based on the Granular Noise generator, to make the sound a bit more gritty and powerful. It’s not a pigeon flying after all!
In GameSynth, you can combine patches from different models together by using the Patch Player module of the visual patching system. Patches of any type can be nested within a Modular patch to create more complex models.
In this case, we simply mixed the outputs of the two patches, effectively layering them, but you can of course integrate them in much more complex ways. The Patch Player is also useful to keep a large modular patch readable by hiding its sub parts. Finally, the Patch Player exposes the meta-parameters of the patch it refers to, allowing their update from other modules or from the game.
Like the wings, the tail sound effect combines two patches. The first is a whoosh with a lot of movement in the lower frequencies.
The second is a drop tone created in the Modular model, which gives the final sound a greater feeling of movement and power. It is achieved with a simple sine oscillator whose frequency and amplitude are modulated by envelopes.
The two patches are then combined in the same way than for the wings.
The dragon footsteps needed to sound relatively big. They were designed entirely in the Modular model. A Granular Noise is used as the sound source. It goes through a couple of effects to make the sound bigger and remove some of the higher frequencies. A copy of the signal is then sent through a Saturator module and a Biquad Filter configured as a lowpass and mixed back. This adds some power to the sound. Finally, the patch ends with a simple Reverb module to give it a bit more presence. Many of the parameters of the modules in this patch have random ranges so that the footsteps are always a bit different. This is especially needed since the dragon is running.
The fire breath patch is quite simple. It is mostly made from several noise generating sources (regular white noise and also some Granular Noise modules) passed through different filters and mixed together.
The roar of the dragon is probably the most important sound effect of the series but it is also very simple. It makes use of a special GameSynth’s Creature module as a sound source and sends its signal through a few processing modules to make the sound bigger and more aggressive. A bit surprisingly, the architecture of this patch is very similar to the footstep patch, although with a different sound source and different parameters for the modules. Most of them have random ranges set so that the roar is never exactly the same.
All these patches are very light on the CPU and have a tiny memory footprint compared to their sampled counterparts, while allowing for a lot more variations. Moreover, most settings can be connected to a meta-parameter for real-time control from the game or to an automation curve for cutscenes.
For more information about our procedural audio middleware, visit the GameSynth page!