Page MenuHomeFeedback Tracker

A3 has changed sound volume computation definitions in configs - breaks backwards compatibility
New, WishlistPublic

Description

Why is this bad:

  1. All previous content with sound effects is now broken (weapons, vehicles, infantry, etc).
  2. Even if there is someone to port an addon, there is no documentation out there.
  3. It is NOT feasible to ask people to tweak it by trial and error.
  4. Especially with mergeConfig still not available to the modding community, aka change config values without having to restart the game each time!

Details

Legacy ID
678776396
Severity
None
Resolution
Open
Reproducibility
Have Not Tried
Category
Sound
Steps To Reproduce

Load A2/OA content like infantry weapons or vehicles in in A3.
Fire the weapons. Or Make vehicles explode.
Notice how they are often way too loud or too silent.

Additional Information

At minimum we need at least the algorithm/computation to adjust the old definitions.

Dwarden tried to get the info from Frenkee, yet the info was not helpful unfortunately:

kju:

could ask frenkee please about changes in sound configuration
as with AiA certain sounds are extremely loud now and some very silent

class missiles_ASRAAM: MissileLauncher

sound[] = {"A3\Sounds_F\weapons\Rockets\missile_2",1.12202,1,1000};
soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_2",1,1.5,700};

vs
class SidewinderLaucher: MissileLauncher

  sound[] = {"\ca\Sounds\weapons\cannon\Javelin1",31.6228,1,1000};
  soundFly[] = {"\ca\Sounds\weapons\cannon\rocket_fly1",25.1189,0.8,700};

so first number is very different. other two seem similar

Dwarden:

he says the A3 works completely differently with loudness now, so pre-A3 stuff will be off
loudness and distance is differently used by engine
it's engine low level change. not settings

kju:

what community needs to know is how to change config defs and how the 3 values work
with that info, they can adjust the defs for A2/OA content and if needed normalize volume of sound files itself

Dwarden:

in past was system where loudness was recalculated to distance e.g. 0dB = 1000m
now are these two 2 values fully independent in config cfg: { "sound", 0dB,1,100}
so you can control both loudness and distance
in this example the sound is in distance 0m loud 0dB and slowly fades into 100m after that is fully quiet
in OA this value would be 1000 ...
so, the approx conversion is multiply by 10
volume is loudness by the source, it fades out (curve type) into defined distance

sound, volume, frequency, max hearable distance

frequency is usually 1. it changes pitch a sound is deformed - frenkee not recommends to use that
the change is inside the frequency band so it's not changing length (shorter nor longer) of the sample
thus it really deforms it

---

kju:

what about sound definitions that just have two parameters next to the file - faulty definition?
sample:
sound[] = {"SOUND",1,1};

standard:
sound[] = {"SOUND",1,1,1000};
(for internal sounds last params is obsolete yes, like soundEngineOffInt)

Dwarden:

if missing, the last parameter is there calculated in relation : 0dB(1) = 1000

----

Mikero:

best i can currently come up with is

newdb = oldDB x 30/distance

the comparisons for various things[]={someWss,,,,} between weapons_f and weapons_h

seem to indicate that the only change is to the db level (pitch and distance remain the same)
and the changes are a fudge-factor of (whether its div 3 or mul 3 is fairly irrelevant)
div or mul is irrelevant because 3/10 = .3 and 10/3 = 3.
best guess is they're using a sinusoidal PI (3.1427)

Event Timeline

kju-PvPscene edited Additional Information. (Show Details)
kju-PvPscene set Category to Sound.
kju-PvPscene set Reproducibility to Have Not Tried.
kju-PvPscene set Severity to None.
kju-PvPscene set Resolution to Open.
kju-PvPscene set Legacy ID to 678776396.May 7 2016, 6:14 PM
kju-PvPscene edited a custom field.

for some time it's used distance to which the sound is propagated, it's in meters and it's last parameter, if it's not defined, it is derived (autocalculation)