I’m curious if there are any sources of information regarding ‘best practices’ for mixing levels within FMOD? I understand this is quite subjective, but I’m trying to get some ballpark ideas as far as where most people start.
By this I mean…how much headroom do you usually give yourself when setting your initial event levels? Do you set your event playback levels at -10db? Louder? Quieter? Of course this is dependent entirely on how loud the particular wav files are, but how do you usually start?
For sake of this example…I have some vocal sounds that are normalized. The game sounds will cover the gamut as far as dynamic range. Huge explosions to soft gentle wind. Where would you start?
- Flying Poo asked 9 years ago
i use calibrated monitor gain as my starting point.. -20rms pink noise, then put it at -0.0 through the speakers and set gain structure on the mixer outputs to 83dB per channel (86 total, dolby film dialogue standard basically)
i’ve been doing this with all projects not just video games for many years because i find it very useful to keep headroom and levels in check very easily. for more info check out the article here (i imagine a lot of you guys are familar with this already.) http://www.digido.com/bob-katz/level-pr … ystem.html
from there my technique is similar to what jcobb described. i had some problems because of using a fair amount of audio assets that i didn’t create and which were L2-d to the max, (our provider i think is too used to dealing with producers that want everything LOUD) so everything was limited and then normalized to peak as well. kind of wacky. in general this meant that i had to have some levels as low as -40dB to maintain an overall mix that was still in the -20 to -14 range of rms. max levels were in the -6 to -3 range.
this led to a ‘quiet’ mix as well, but that gave some freedom to beef up the explosions and a few other choice sounds easily without blowing headroom at the very end.
another consideration that is interesting to me is the notion of the difference between "loud" sounds in the engine really being described by two parameters. the actual volume of the event is part of it, but also being careful about the falloff distance. in a lot of cases something very loud like a jet will not really be a louder sound in terms of RMS but by setting a much longer falloff it fools the ears into a perception that it is indeed very loud because you are hearing from so far away. (also, using distance parameter and lpf is big here). this makes engineering things a little more tricky so i would test the mix from several positions in a test case and then try to set min and max falloffs carefully.
a third consideration for that type of stuff is that on "loud" sources, particularly point sources in the level, i will use the distance parameter in conjuction with 3d pan level. nothing sounds weirder in 5.1 than having something that is supposed to be loud suddenly pop to a tiny surround speaker, so generally on anything like this within 20m or so i will fade to almost be a 2d sound. that really helps sell the idea it is super loud without really using any more headroom or having to make it very loud in comparision to other assets.
i agree that some nice metering and mastering plugs in the dsp network would be awesome though.
- acrosby answered 9 years ago
These work for me, individual mileage may vary.
1) I normalize all wave content to various standards depending on the type of content (sfx, voice, music) and then I set relative levels in the events. This practice helps the virtual voice system have an accurate scope of relative sound loudnesses. For instance I won’t use a 0db event for ambiances where the wave content is actually at -32 dB. I’ll normalize ambiances to around -18 dB RMS and set the event level down to an appropriate level for the mix context.
2) In general I start events out at -12 dB, my loudest event is -3 dB and my quietest is -36 dB. There is also lots of mix detail below this as 3D event distance curves drop levels down further. I have yet to hear any bad clipping, and there is still a bit of headroom to have something to work with as the game and mix progresses. In fact, I’d say right now the mix is comparatively quiet, but I consider that to be a good thing up until a certain point in development. I dislike fighting the top of the fader wars with clipping.
3) I long for some nice bundled mastering plugs for the mix bus. Fmod compressor is at least handy for a little squeeze at the very top and makeup gain. But please, no limiter-abuse people.
- jcobb answered 9 years ago
To be frank, I’m a little surprised there is no manner of independent metering in designer. It’s all well and good to set your initial amplitude at on a single asset here and there at -10db, but with fairly dynamic sounds (that you don’t want to compress), that’s meaningless from a mix perspective. I would really like it if when you’re testing audio by using the profiler or connecting the game, you could see realtime (or semi-realtime) metering from the mix bus.
Um.. Yeah to answer your question, I do a sample "scene" offline in a multitrack sequencer using my original game sound assets, with this I do a "preview mix". I then use that as my mix reference for setting asset levels in the bank and in game. Then I test test test across different types of systems / soundcards. Something like that… I don’t explain it very well, I think you get the idea?
Thank you Ringmod. Good points.
Especially in regards to having at least some kind of metering from the mix bus. I suppose that’s why I posted my original question. I have also been creating test scenes outside the game in order to get a feel for the overall balance of things, but this is still a relative mix. At the end of the day I feel as though I am completely winging it when it comes to my all-important headroom. Tossing in some arbitrary headroom on each asset as it is added into the game is a bit of a scary approach to me. Too much and we’re not utilizing our dynamic range wisely (and the mix is too low). Too little and clipping.
Of course at the end of the day we need to rely on our ears, but how about a basic mix bus meter developers? Anything in the works?
[quote="Flying Poo":1egi6bpf]Thank you Ringmod. Good points.
Of course at the end of the day we need to rely on our ears, but how about a basic mix bus meter developers? Anything in the works?[/quote:1egi6bpf]
Yes. I believe a peak meter is on the cards (though I’d like to see VU style meter too)
I think a bus meter would also be appropriate in EventPlayer too…as you can trigger multiple event and hear their relative volumes, as well as monitor the bus volume.
- templar answered 9 years ago
This is how my setup looks (using 2 monitors)
I use pinguin audio meter:
I can meter anything that goes to the soundcard, from FMOD, ingame, or from whatever source i like.
BTW, we could use more threads like this, so sounddesigners can share knowledge and ideas! Thumbs up!
- jocorok answered 9 years ago
Another option is to set the FMOD output to FMOD_OUTPUTTYPE_WAVWRITER using System::setOutput.
This will redirect audio output to a wave file (fmodoutput.wav by default).
It does mean that you have to play your game without sound on, but it does at least give a realistic representation of the audio output of the game.
Does anyone know if FMOD does any inbuilt Normalization or Limiting? I seem to recall Brett saying that there’s a final Normalize filter applied to stop audio output from clipping above 0dB (maybe I’m wrong on that?)
So my question would be about how it actually does the final Normalize (if it does exist)? Would it compress all signal above 0dB, like a limiter, or would it simply squash all levels down based on the highest peak, thereby making the highest peak sit at 0dB?
This is important because if it’s just normalising based on the highest peak, then to some extent it doesn’t matter how hot you set your levels (other than the problem of not being able to go above 100% volume wise in the Designer), because you’d never get digital distortion, and as long as the sounds were balanced relative to each other, everything should sound fine…
Can anyone shed any light on this?
Please login first to submit.