2025–2026 · Graduation work, Howest DAE
AI Audio Research
For my graduation thesis, I built an Unreal prototype to measure the delay between a gameplay event and an AI-generated sound. I wrote the game client, Python generation server, cache and synthesis fallback.
Latency on uncached requests
I compared a procedural baseline with four AI configurations, using five runs per method and prompt. The table shows end-to-end latency for clips lasting 0.5–2 seconds, including the request, generation or transfer, decoding and playback.
On this test machine, only procedural DSP met the thesis’s 100–150 ms budget for interactive sound effects. I also rated 60 anonymised samples; that quality check had one evaluator.
| Method | 95th-percentile end-to-end latency |
|---|---|
| Procedural DSP | 25 ms |
| MMAudio Small | 1.9 s |
| AudioGen | 2.8 s |
| MMAudio Large | 3.4 s |
| ElevenLabs | 3.5 s |
Test machine: AMD Ryzen 9 7940HS, RTX 5070 Laptop GPU with 8 GB VRAM, 64 GB RAM, Unreal Engine 5.4.4, Python 3.11.7.
Pregeneration, caching and fallback
Because a first generation is too slow, the server watches the game state and prepares sounds the player is likely to trigger: approaching a door prepares door sounds, entering a forest prepares ambience. The result is cached and played on demand.
If the sound is not ready, the game plays the synthesis fallback and keeps the generated sample for a later request.
The Unreal client asking for sounds during play.
Requests and generation logs
The Unreal and Python recordings show when requests arrive, how long generation takes and when files become available.
01
Gameplay requests
The server prints each request as it arrives.
02
Generation timing
The log compares generation time with the duration of the resulting sound.
03
Prepared door sound
The door sound is in the log before the player reaches the chapel.
Compare the generated sounds
These four samples use the same prompt: a heavy footstep on wet stone.
- Procedural DSP The synthesis fallback.
- AudioGen Local model output.
- MMAudio The benchmark separates Small and Large; this example does not distinguish between the two versions.
- ElevenLabs Cloud API output.
Three more sound comparisons
- Machine gun burst Procedural DSP AudioGen MMAudio ElevenLabs
- Cat meowing Procedural DSP AudioGen MMAudio ElevenLabs
- Wooden door slam Procedural DSP AudioGen MMAudio ElevenLabs
The Python server: models, cache and retries.