Disclaimer: Synthesized engine sounds are nothing new. They've been around for a while. This is just a personal experiment where I explore the idea with the technology that is available to me.
For the past 4 weeks I've been playing with the idea of creating 100% synthesized vehicle sounds and engines/motors of all kinds. With today's powerful synths and audio tools I figured it should be possible to create decent / good results.
The benefits in regards to game audio are obvious:
1. Predictable & Stable Pitch
To implement good engine sounds that work well over a range of pitches (or RPMs), you need at least a couple of good loops at different, but most importantly, stable and known pitches. Otherwise the pitch interpolation between the different loops will not sound very good.
There are other techniques that involve granular synthesis, but for now I'm focusing on standard loops instead as it's easier to implement in Game Engines & Middleware.
Creating 100% synthesized vehicle sounds gives you full control over the pitch of your source material and you can easily create as many different loops as needed to guarantee optimal pitch interpolation.
2. Creative Freedom
Synthesizing everything from scratch gives you the freedom to design the sound the way you want.
If you're stuck with recordings that don't fit or which you don't like there's a couple of things you can do using post processing but a synth lets you freely tweak every aspect of the sound until it fits your particular needs.
If you're creating a racing game that simulates existing cars, having "the real thing" is still the better, if not the only option of course. But if staying true to an original isn't a requirement, then using synths gives you the option to quickly iterate over many different variations of a sound to find the one that fits.
3. Low Budget Requirements
Creating good engine recordings is a special and time intensive craft that requires meticulous planning and execution and therefore has it's price.
If your budget doesn't allow for custom recordings then going the synthesized route might be worth considering.
A couple of weeks ago I fired up Absynth and tried to come up with a first sound. The results where better than expected. A lot of what I did was trial and error. Having the ability to create custom wave tables in Absynth definitely helps in achieving nice results.
The patch is made up of three different oscillators (OSC). One for main/base sound, one to add some low end and one for some extra character on top of the base sound. A LFO is used to modulate some parameters of the main OSC and finally everything is send through a Comb Filter.
As you can see the patch is pretty straight forward in this form. However, it still needed some heavy EQ'ing to filter out some unpleasant frequencies.
The final result was quite nice overall. The high RPM loops are missing some bite though. I think the patch needs to adapt/change for the higher regions to account for that.
In order to test these sounds in Unity3D I created a sample scene with a custom script that handles the volume and pitch modulation between the different loops.
I created 6 loops for the MIDI Notes: C2, D#2, G2, C3, E3, G3
I choose these by ear, and it seemed to work well, but there's room for experimentation. The script automatically adapts to as many sounds as you have as long as they scale "linear" in pitch. All loops are distributed along a set RPM parameter and get interpolated in pitch and cross faded when the RPM parameter changes. This works regardless of the actual value of the RPM parameter. Everything is scaled dynamically. The script makes use of an editable animation curve for smooth cross fades between the loops.
I'm quite happy with these first results.
If you're interested you can find the script on my github.
That's it for my first little adventure in creating artificial vehicle sounds. I'm going to continue exploring this topic. If you have any questions you can hit me up on twitter or send me a mail at email@example.com.
Thanks for reading!
I'm always looking to collaborate on exciting projects!