Skip to content
Procedural Engine Sound System - Unity demo
Procedural Engine Sound System - REAPER plugin
Procedural Engine Sound System - 2D Wavetable

PROCEDURAL ENGINE SOUND SYSTEM

A fully procedural engine sound system based on physical modeling of internal combustion. Instead of relying on pre-recorded samples, the system mathematically computes combustion pressure, valve events, and exhaust pulsations — then stores the results in a compact 2D wavetable for efficient real-time playback.

The plugin takes RPM and throttle input from any game engine or audio middleware and outputs a continuous, seamless engine sound. It supports any four-stroke engine configuration — given real-world specs (cylinder count, firing order, bore, stroke, crankshaft type), the system can reproduce the acoustic signature of virtually any production engine.

Developed by Aleksandr Khilko as an in-house R&D project at AK Audio, building on over seven years of research into engine sound synthesis for vehicle-based games.



The Problem

Traditional game engine audio relies on pre-recorded samples at fixed RPM ranges, crossfaded during playback. This approach requires expensive field recording sessions, produces audible looping artifacts at static RPMs, and scales poorly — every new vehicle needs a new set of recordings.

World War II tank engines are particularly challenging: they are low-rev, and getting them to hold steady at a specific RPM during a recording session is extremely difficult. You're always fighting the source material.

During production of World of Tanks Heat, several vehicles couldn't be recorded at all — COVID lockdowns killed field recording sessions, and some tanks were politically or logistically impossible to access. We resynthesized engine sounds using additive synthesis and blended them with whatever sample material we had. For example, the American M1 Abrams has a gas turbine engine — very distinctive, and feasible to resynthesize. But even then, we used the result as static samples. We simply didn't have the resources to write a custom real-time synthesizer plugin for Wwise at that point.

This experience confirmed the need for a synthesis-based approach that could generate any engine sound from specifications alone — procedurally, in real time, inside any audio middleware.


How It Works

At the core is a physical model of a four-stroke internal combustion engine. The simulation computes:

Piston geometry — chamber volume, cylinder bore area, piston displacement — yielding the instantaneous combustion chamber volume at any crank angle.

In-cylinder pressure — pressure dynamics throughout the full four-stroke cycle: intake, compression, combustion, exhaust.

Valve events and exhaust pulsations — modeling valve opening/closing and the resulting pressure waveform at the exhaust pipe outlet.

The output audio signal is the deviation of exhaust pipe pressure from atmospheric pressure — which is, physically, exactly what you hear from a real exhaust pipe.

All input parameters come from publicly available engine specifications: crankshaft type, firing order, number of cylinders, bore, stroke, and other mechanical characteristics. The more accurate the input data, the more accurate the resulting sound.

Because the entire system is based on math and physics, if you know the full spec sheet of an engine, you can theoretically recreate anything. The system has been tested on five different engine configurations with consistent results — the technology looks very scalable.


2D Wavetable Optimization

While the physical model can run in real time on a desktop CPU, game production demands minimal overhead. The solution: pre-compute full combustion cycles across a two-dimensional grid of RPM × throttle values and store them in a compact binary wavetable.

The sampling density is non-uniform — denser at low RPMs where tonal changes are most noticeable, sparser at high RPMs where the sound is inherently smoother. This was tuned empirically for optimal quality-to-size ratio.

For a Pontiac G8 engine, a high-quality full table is approximately 22 MB — covering all RPM ranges and throttle positions. At runtime, the plugin interpolates between pre-computed cycles, delivering physically accurate sound at a fraction of the computational cost.


Full Vehicle Audio System

The engine synth is one component of a complete vehicle audio system demonstrated in Unity with a VPP vehicle physics controller. The controller provides surprisingly good data into Wwise — throttle transitions, load/off-load behavior, RPM changes — all feel responsive and realistic.

The full system includes several additional layers:

Exhaust Convolution — the raw combustion signal passes through a convolution stage using an impulse response that simulates the exhaust tract acoustics. Swapping the IR changes the exhaust character — muffler type, pipe length, resonance profile. Some procedural solutions model the sound all the way through the exhaust system mathematically, but for a modular system, switching an IR is more practical and flexible than swapping an entire engine matrix.

Collision System — impact impulse is measured at collision points, normalized, and mapped to sound intensity. Small tap — short hit. Big impact — heavier, more resonant sound.

Suspension Audio — suspension impulses modulate a dedicated sound layer proportional to bump intensity. Bigger bump, louder and more pronounced response.

Tire / Surface System — surface type and vehicle speed drive layer switching across different ground materials.

Spatial Convolution — a custom convolution reverb provides environmental acoustics, replacing middleware-native reverb plugins to save on licensing costs.


Performance

The engine synth plugin alone runs at approximately 5–6% CPU. The full vehicle audio system — engine, multiple convolution reverbs, collisions, suspension, tires — peaks at around 8% total CPU load.

NPC vehicle optimization has not yet been implemented and would reduce per-vehicle cost significantly. The wavetable approach is inherently lightweight — it's an interpolated lookup, not a real-time simulation — making it suitable for titles with many simultaneous vehicles on screen.


Compatibility

The wavetable playback plugin can be compiled for any target platform and middleware:

Audio middleware: Wwise, FMOD Studio
Game engines: Unity, Unreal Engine
Sound design tools: REAPER (for testing, prototyping, and envelope-based scenario design)

The binary wavetable format is engine-agnostic. The same computed engine data works across all platforms without modification. Given a full set of engine specifications — crankshaft configuration, firing order, cylinder count, bore, stroke — a new engine can be computed and deployed in a matter of hours.

INTERESTED IN CUSTOM ENGINE SOUND FOR YOUR PROJECT?

Tell us about your vehicle lineup, middleware, and delivery pipeline — we'll discuss how this system can fit your production.