Most zoned ambients, when used in place of regular ambient sounds, sound considerably worse. It does not matter whether they are coming off a speaker or from the location system. I encountered this way back when working on King of Diamonds and even pointed it out on the forums, but nobody seemed to take notice. I used non-zoned ambients in KoD for this precise reason, which led to complaints about the loud popping you hear when you don't use _z ambients. Now I've come to a head when implementing location settings in my new FM and I cannot deal with the pop-in anymore. I've debugged this issue myself, leading to this discovery.
The leadin "silence.ogg" is needed for zoned ambients to properly fade in and out when used in the location system. Currently, this sound file is in mono format. ALL ambient sounds that we have in stereo format are currently suffering great audio quality loss when used in combination with a mono leadin.
The easy solution to this problem is this: convert "silence.ogg" from a mono to a stereo file. Most our (good) music is in stereo, so this will fix the issue - I tested it personally. However, just as a mono leadin will ruin a stereo sound, testing revealed that a stereo leadin also ruins a mono sound. If we're to be rigorous, there must be two silence leadin files: "silence.ogg" and "silence_stereo.ogg". In the ambience_zoned.sndshd file, the appropriate leadin must be declared depending on the type of file. I've no idea how to batch check for numbers of channels on lots of audio files, so this may prove to be arduous gruntwork.
Nevertheless, I highly suggest that at least the easy fix get applied for the next update. The quality gain from fixing a bunch of stereo sound is much greater than ruining a handful of mono sound.
See the bugtracker report I've filed here.
If you want to test this yourself, I've provided a stereo "silence.ogg" for your convenience. Place it in "sound/ambient/ambience/" to override the default one. An example stereo ambient to test the change is "forest_children_z". An example mono one would be "hum_intense03_loop_z". You can immediately test the difference in sound in-game by renaming this custom "silence.ogg" to e.g. "silence_diffname.ogg" after you've placed it and typing "realoadSounds" in the console while near a speaker emitting either of those two sound shaders.
silence.ogg.txt 4.04KB 2 downloads
Edited by Spooks, 24 May 2017 - 10:01 AM.