Jump to content
tpw

Globally reduce vehicle engine volume and/or attenuation

Recommended Posts

I've been spending a bit of time lately trying to improve AI vehicle behaviour around footbound units. Which means I've had the misfortune of having to constantly listen to the terrible state of most vehicle external audio, where a car's engine noise is radically overpowered compared to the wind / tyre noise. It's highly annoying listening to the constant engine hum of a low powered passenger car driving 1000m away. I'm very keen on patching the config to globally lower the engine noise, and possibly attenuate it so that it's not audible past 200m or so.

 

I had a bit of a look around the config and thought that the following might do the trick:

 

class CfgSoundSets {
    class Engine_Base_EXT_SoundSet {
        sound3DProcessingType = "VehicleExt_3DProcessingType";
        distanceFilter = "softVehiclesDistanceFreqAttenuationFilter";
        volumeCurve = "InverseSquare2Curve";
        occlusionFactor = 0.5;
        obstructionFactor = 0.3;
        volumeFactor = 0.1;
        spatial = 1;
        loop = 1;
    };

 

It seems that most of the other engine noise stuff inherits from this. So I tried writing a small config patch to fix it:

 

class CfgPatches
{
    class A3_Sounds_F_Vehicles_TPW
    {
        author="$STR_A3_Bohemia_Interactive";
        name="Arma 3 - Vehicle Sound Effects Files";
        url="https://www.arma3.com";
        requiredAddons[]=
        {
            "A3_Data_F"
        };
        requiredVersion=0.1;
        units[]={};
        weapons[]={};
    };
};

class CfgSoundSets {
    class Engine_Base_EXT_SoundSet {
        sound3DProcessingType = "VehicleExt_3DProcessingType";
        distanceFilter = "softVehiclesDistanceFreqAttenuationFilter";
        volumeCurve = "InverseSquare2Curve";
        occlusionFactor = 0.5;
        obstructionFactor = 0.3;
        volumeFactor = 0.1;
        spatial = 1;
        loop = 1;
    };
};

 

The trouble is that once in game, the class Engine_Base_EXT_SoundSet volumefactor  reverts to 1.  I think I need more required addons to load first, but I don't know what they are.

 

If anyone has some ideas either how to get my code to work, or just how to generally global lower the vehicle engine volume, I'd be all ears! 

 

Thanks in advance for any help.   

 

 

 

Share this post


Link to post
Share on other sites
On 5/6/2019 at 5:45 AM, tpw said:

I think I need more required addons to load first, but I don't know what they are

Just load all of them.

requiredAddons[] = {"A3_Data_F_Tank_Loadorder"};

 

Share this post


Link to post
Share on other sites
43 minutes ago, Dedmen said:

Just load all of them.


requiredAddons[] = {"A3_Data_F_Tank_Loadorder"};

 

Thanks mate, that did the trick....

 

..unfortunately my config patch does bloody nothing though.

Share this post


Link to post
Share on other sites

There are some pending changes to vehicle engine sounds volume fall off which didn't made it to 1.92. If you want to play with it on your own, you can use following code

	class softVehiclesDistanceFreqAttenuationFilter
	{
		type = "lowPassFilter";
		minCutoffFrequency = 50;
		qFactor = 1;
		innerRange = 10;
		range = 500;
		powerFactor = 96;
	};

😉

Share this post


Link to post
Share on other sites
14 minutes ago, reyhard said:

There are some pending changes to vehicle engine sounds volume fall off which didn't made it to 1.92. If you want to play with it on your own, you can use following code


	class softVehiclesDistanceFreqAttenuationFilter
	{
		type = "lowPassFilter";
		minCutoffFrequency = 50;
		qFactor = 1;
		innerRange = 10;
		range = 500;
		powerFactor = 96;
	};

😉

Thank you so much  reyhard. Unfortunately for me, I am absolutely @#$% at config wrangling.

 

class CfgPatches
{
	class A3_Sounds_F_Vehicles_TW
	{
		author="TPW";
		name="Reducewd Engine Volume";
		url="https://www.arma3.com";
		requiredAddons[] = {"A3_Data_F_Tank_Loadorder"};
		requiredVersion=0.1;
		units[]={};
		weapons[]={};
	};
};

class softVehiclesDistanceFreqAttenuationFilter
	{
		type = "lowPassFilter";
		minCutoffFrequency = 50;
		qFactor = 1;
		innerRange = 0;
		range = 100;
		powerFactor = 0;
	};
};

 The following patch made absolutely no difference. Is there a parent class I should know about? 

 

Thanks again

Share this post


Link to post
Share on other sites

it's part of class CfgDistanceFilters. Try to look up for it in all in one config for example

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×