Figuring out audio normalization

Music creation for games: Your favourite plugins, DAWs, composition tips and more!
Post Reply
User avatar
celes
Posts: 28
Joined: Sun Feb 15, 2026 8:09 pm
Location: The offices at Carrot Corp
Pronouns: she/they

Figuring out audio normalization

Post by celes »

Volume for SFX and music in my game is a bit all over the place. I know audio normalization is a thing and it's a thing I should probably be doing but I tried doing it in Carrot Survivors and I just couldn't figure it out. Anyway, it's time to do some research and figure this out for real so I thought I'd share my investigation ^^

This reddit comment was useful:
Sound designer here, I suggest you to learn a bit of reaper to batch normalize sample.

[Edit] clarified my answer

For short sounds (like UI clicks, impacts, or brief effects), peak normalization is actually more appropriate since LUFS measurements are designed for longer content and can be less reliable on very short samples.

For longer sounds (music, ambiance, longer effects), LUFS normalization is the way to go rather than peak or RMS, as it better represents how humans perceive loudness.

Reaper can handle both types of normalization in batch, which is what makes it such a powerful tool for sound design workflow.

Quick tip: while these measurements are great starting points, always trust your ears for the final balance, especially for short sounds where frequencies and transients can significantly affect perceived loudness!
Off to a good start, using the mematic reddit "$PROFESSION here," intro. But the advice here looks solid. Apparently there's two kinds of normalization and it's very likely I had been doing it all wrong because I remember using the same script for music and sound effects, which means I was probably doing the wrong thing to at least half of my audio. We have:
  • Peak normalization, for SFX
  • LUFS normalization, for music
A little trip to wikipedia confirms my suspicion! Surprisingly readable, for a math-y wikipedia article. Long story short, peak normalization will make sure the loudest bit in the sound file is normalized to a given value, adjusting everything else. The LUFS normalization is a bit more involved, and works by shifting the track to balance its general perceived loudness. I assume this is similar to what Jellyfin does to my music when normalizing my library. Wikipedia also mentions YouTube uses LUFS normalization so we probably can't go wrong with it.
 

POSTREACT(ions) SUMMARY

User avatar
celes
Posts: 28
Joined: Sun Feb 15, 2026 8:09 pm
Location: The offices at Carrot Corp
Pronouns: she/they

Re: Figuring out audio normalization

Post by celes »

A bit further down the rabbit hole... It seems the two kinds of normalization are well supported in Audacity!

Confusingly enough, audacity calls peak normalization "Normalize" and can LUFS normalization "Loudness normalization". At least to me, these two options always sounded like synonyms but now we know better! The LUFS normalization uses the default value recommended by the EBU 128 standard for loudness levels, which seems to be what everyone is using so we can't go too wrong with that.

I tried recording two samples of my voice in audacity, one quite and one loud, and ran loudness normalization through them separately. Here's the before:
image.png
image.png (10.98 KiB) Viewed 514 times
And here's the after:
image.png
image.png (11.71 KiB) Viewed 514 times
It's funny because listening to it, because it causes this uncanny effect where I first sound like I was talking in a whisper voice and then seem to be almost shouting but the audio is more or less perceived as the same volume 👀 If I instead normalize the whole track to EBU R 128 levels, we get this effect where the second peak is pretty much the same but the first one is significantly lower:
image.png
image.png (11.38 KiB) Viewed 514 times
I've been thinking about how much I want to automate this... I could go look for an ffmpeg script, but I think I'm gonna trust the wise redditor. There's going to be a manual component so I might as well do it in audacity. Instead, what is probably going to be very useful is some kind of "sound board" imgui editor that I can use to play various music tracks and sound effects at the same time. I should also get audio hot reloading working. That way I can edit sounds in audacity and test them in real time inside the game. That sounds productive enough! It's gonna be a little detour but I think that's where we're going next ^^
 

POSTREACT(ions) SUMMARY

Heart (1)
Sugui
User avatar
Sugui
Posts: 8
Joined: Tue Feb 17, 2026 12:50 pm
Location: Europe
Pronouns: she/her

Re: Figuring out audio normalization

Post by Sugui »

celes wrote: Tue Feb 17, 2026 7:20 pm Volume for SFX and music in my game is a bit all over the place. I know audio normalization is a thing and it's a thing I should probably be doing but I tried doing it in Carrot Survivors and I just couldn't figure it out. Anyway, it's time to do some research and figure this out for real so I thought I'd share my investigation ^^

This reddit comment was useful:
Sound designer here, I suggest you to learn a bit of reaper to batch normalize sample.

[Edit] clarified my answer

For short sounds (like UI clicks, impacts, or brief effects), peak normalization is actually more appropriate since LUFS measurements are designed for longer content and can be less reliable on very short samples.

For longer sounds (music, ambiance, longer effects), LUFS normalization is the way to go rather than peak or RMS, as it better represents how humans perceive loudness.

Reaper can handle both types of normalization in batch, which is what makes it such a powerful tool for sound design workflow.

Quick tip: while these measurements are great starting points, always trust your ears for the final balance, especially for short sounds where frequencies and transients can significantly affect perceived loudness!
Off to a good start, using the mematic reddit "$PROFESSION here," intro. But the advice here looks solid. Apparently there's two kinds of normalization and it's very likely I had been doing it all wrong because I remember using the same script for music and sound effects, which means I was probably doing the wrong thing to at least half of my audio. We have:
  • Peak normalization, for SFX
  • LUFS normalization, for music
A little trip to wikipedia confirms my suspicion! Surprisingly readable, for a math-y wikipedia article. Long story short, peak normalization will make sure the loudest bit in the sound file is normalized to a given value, adjusting everything else. The LUFS normalization is a bit more involved, and works by shifting the track to balance its general perceived loudness. I assume this is similar to what Jellyfin does to my music when normalizing my library. Wikipedia also mentions YouTube uses LUFS normalization so we probably can't go wrong with it.
Didn't know they were two different ways of normalizing audio! :o

A really interesting research you did ^^. I think it makes sense that the loudness of SFX can be perceived differently than music loudness. I mean, music is something you listen in the background and your brain gets used to it's loudness in a way. Sound effects, on the contrary, are like short "distractions" or "alerts", the brain can't get used to it's "global" loudness, so it makes sense that the perceived loudness for SFX is more related to the loudest bit in the sound file :3
 

POSTREACT(ions) SUMMARY

Heart (1)
celes
User avatar
celes
Posts: 28
Joined: Sun Feb 15, 2026 8:09 pm
Location: The offices at Carrot Corp
Pronouns: she/they

Re: Figuring out audio normalization

Post by celes »

Some more useful context provided by Kithop over at fedi.
Depending on the sources of your sound effects, you *may* also want to play with compression (as in dynamic range compression), particularly if you have any that have excessively 'sharp' transients that sound out of place.
So it seems normalization is not the only ingredient here. Another important thing to look at is compression. Normalizing an SFX will make sure the peak is at a consistent volume, but sometimes peaks are too high, especially when doing live recording with a microphone. A compressor can lower the loudest bits of an audio sample while keeping the quiet parts intact.

There's two ways we can include normalization in our audio pipeline: The first one is at the asset authoring stage, similar to normalization. But the second one is by adding a compressor to the SFX channel in FMOD

The first one would be useful to adjust my audio samples when the difference between the base and the peak is too extreme. The second one will help smooth the peaks out for any sounds produced dynamically, like for example when lots of explosions are triggered at once :blobcatnodfast:
 

POSTREACT(ions) SUMMARY

Orange Heart (1)
Sugui
Post Reply