Jump to content
Sign in to follow this  
Mark XIII (DayZ)

Arma 2 Sound Modding 101.

Recommended Posts

Well the problem is with the pitch is that if your facing from the side its slow not normal speed and if u face the front its fast and it changes pitch as u increase and decrease distance.

Edit:

I think it could be the doppler effect which may be causing a problem.

i just realized thats hopgood

Share this post


Link to post
Share on other sites
volume = "camPos*engineOn*(rpm factor[0.85, 0])"

Where can I find a list of these camPos, engineOn, rpm parameters that the game offers? Say i.e. if I wanted to make aircraft ground roll sounds, I'd need to check that altitude AGL was zero. Does such a check exist? I also see several others used, like houses, sea, rain etc.

Also, can anyone explain the cone[] = {} feature that some external vehicle sounds use?

Share this post


Link to post
Share on other sites

Hi mate,

I'd love to be able to answer all your questions but sadly I can't. I am however going to ask that this thread be stickied. Also, I'm going to compile a list of question then send them to some 'chosen' BIS Devs. Since alot of the questions here aren't covered by the BIKI.

Regarding the 'cone' question. I believe it to be an 'invisible sound cone which seems to be added to choice air vehicles. Namely choppers and jets. I think it supposed to simulate various effects that come with air travel. for example rotor downwash, which could be edited around the cone to change in pitch depending on the angle from the listener. Also fast air when approaching makes very little sound in R/L so I think the cone can be used to aid that effect too. 'the wooosh sound as the aircraft gets close to you and then the rumble as it passes.'

Until we get some answers the only way to work it out is ALOT of testing :)

Share this post


Link to post
Share on other sites

I can find list of ambient parameters from the appropriate section in this page. It also have a list of simple expressions that I needed. So, apparently I can't use power ( ^ command), trigonometric commands (sin, cot etc) or even divisions. But interpolate looks nice, kind of a normalize-with-control command.

Is there special class for "jet aircraft"? I can get cone to work with both C130J (turboprop, but still a "plane") and AN2 (prop, but still a "plane"). That is, "work" as in putting it there, but I still have no idea what the numbers are. I originally wanted to have non combustion sounds and propeller sounds be different depending on where you was located to the vehicle. Jetwhine more prominent behind engines than in front, and more so under power. Different set of prop sounds in front and behind. Gyro sounds in cockpit, but not "behind" (not sure if cone works with inside at all, forgot to check). Ground roll sounds, but I can't find any parameters for altitude.

The ambient section is in that page, but no references for vehicles.

Share this post


Link to post
Share on other sites

Yeah, figures... Pffft... :p

Not sure if this is interesting, but, some info from my humble attempt to make my own ambient sound addon.

CfgSFX and CfgEnvSounds are different, but only slightly.

1) CfgSFX are for triggers and are spatial to the location of the trigger, while CfgEnvSounds can have a non spatial ambience part (can be 44100Hz stereo) and spatial effects (should be 22050Hz mono) part which appear randomly in the stereo field.

2) CfgSFX doesn't have a random list nor does it seem to support it, instead it plays randomly through all sounds until the empty[] sound is hit. So it appears the empty[] list only controls the randomness between each time the trigger is reactivated and restarts. So you can have a bird sing a variety of samples in a quick fashion, but when it hits the empty[] list, it will wait delay depending on the last three parameters before the bird starts singing a new song. This is speculation and what I believe, I've never seen it confirmed. But if true, I'll say brilliant, simply brilliant.

3) CfgEnvSounds on the other hand, doesn't appear to support the empty[] list at all, but instead relies completely on the random[] list and each samples chance to get played parameter. The problem here is that each random play will be placed randomly in the stereo field, so you can't really have a bird sing a variety of samples in a quick fashion because it will appear be to constantly moving. But if you increase the delays, you can at least use the sounds. I'm using this with success on (nearly) ALL vanilla cfgSFX sounds in my CfgEnvSounds config. It means I can have skylarks, cows, chickens etc all over the map driven by ambient parameters, without placing a single trigger. A trigger is better for the fluidness naturally, but it was a crazy attempt that I think paid off.

4) CfgSFX doesn't support the use of ambient parameters. CfgEnvSounds does. For CfgEnvSounds I suggest always to use dummy sounds for ambiance sound whenever you want to control volume of the effects part. And never have effects mixed in with the actual ambiance sound. I noticed this in eliassoundmod, and it works much better than trying to mess with volumes and sample amplitudes. Maybe there are things I don't fully understand here, but...

5) It IS possible to define different CfgEnvSounds for different islands, but in addition to generating list of includes for the main world, you have to also create list of includes for each separate world as appropriate if the main world is not suitable. I have new sea sounds for Chernarus and Utes, and new lake sounds for Takistan. I have seagulls only on Chernarus and Utes. I have "hill goats" only on Takistan. Etc etc. Just make each "animal" (or set off effects and/or ambient sounds) a separate .hpp file and simply #include it as needed on a per island basis.

Requests to BIS regarding sounds:

1) We could use some new ambient parameters:

* Slope - returns 0 (flat) to 1 (45° slope). Hills isn't enough to cause effect of falling rocks. Measure over 50m or so.

* Inside - returns 0 (outside building) to 1 (inside building). Similar to what is used for rain visual effect.

* Locationtype - how close you are to a given location type. Houses tend to include too much (power lines). My obvious ones are Town and Village.

* Lake - same as Sea but affects only islands whos elevationoffset is greater than 0. Makes it easier to define sea sounds for Chernarus and Lake sounds for Takistan.

* Pond - how close you are to a pond. Or put it in as a locationtype. Parameter Sea doesn't cover ponds (thank god for that :)).

* Altitude - how far you are from the ground, say returns 0-1 from 0-100 meters (or whatever altitude it is you start hearing CfgEnvSounds from). Could be used for ground roll samples in airplanes, i.e. volume = "speed*(altitude factor [0.001,0])", and could be used to define special CfgEnvSounds for parajumps.

2) New simple expression:

* Array - Allows us to build a simple curve from any number of points (like in MS Flightsim). Example: volume = "(rpm array [[0.2,0.0],[0.3,0.3],[0.5,0.4],[0.6,0.0],[0.7,0.0]])" (using normalized values).

Hopefully this was of some value to some. Hopefully someone can also confirm or deny. Hopefully BIS is reading this too :D

Share this post


Link to post
Share on other sites

Want to make a Soundmod but Im a rookie if we talk about Configs...................................................................

no Tutorial or anything?

Share this post


Link to post
Share on other sites

Ok, soo... its possible to use the HiFi Config for me? Of course I use my own Sounds for the Soundmod and own name.

It would be great... =O

Edited by Scheintot

Share this post


Link to post
Share on other sites

Your welcome to use the HiFi Arma 2 configs as long as you nod HiFi in the credits somewhere if you release it. Remember though, There are some bugs lurking around in those configs that will not be fixed by the HiFi team anytime soon.. So, I'd suggest playing around with them till you understand config's more. I'm pretty sure most of it works fine, enough to start a mod with.

The only reason I mention it is that Jarhead seems to be getting alot of 'critism' concerning bugs in his addon.. Which is because he uses HiFi configs as a base. While sharing is great en all..I just felt compelled to warn you ;) as there are many people who will point bugs out, but few to help you fix them :)

Hope your sound mod comes together with minimal hassle :D

Regards

Mark

Share this post


Link to post
Share on other sites

Ok, nice, sounds great, thx. :) :cool:

I think I do it.

It would be great if its possible to make more distant sounds... like the cockpit from a jet. Different sounds between the 1p and 3p.

Share this post


Link to post
Share on other sites

There is no way to do that... :) You dont wanna know how much people already tried that.

It's a real limiter. :-/

Share this post


Link to post
Share on other sites

Yeah, the HiFi configs are far from good. I had very limited time and alot of persons has been involved in the creation aswell making it hard to track bugs (I hate tracking lots of bugs, I prefer to make on config good before I move on. Easier to find out what you just put in didnt work than checking code that looks ok). But as I didnt have enough time Im really grateful that HiFi got configs at all LOL!

MarkXIII is getting really good (out of desperation I guess, sorry mate :P)

Yeah, but atleast you have a base to start to work on. Take one weapon and make it good and move on from there :)

Share this post


Link to post
Share on other sites

Or I take a other Config. Hifi is good but if you say there is a many bugs, I think its the wrong way for me. Sorry. :o

VoP is good, or?

And the point with 1p and 3p is very sad, because that would be a realistic point in the sound.... mh. Right now its more unrealistic.

Sad. =(

Edited by Scheintot

Share this post


Link to post
Share on other sites

Hey guys im completely new to this sound modding i have a home studio so i know sound like the back of my hand! my only question is,,, how the heck do configs work? and when the config has like 8 freaking sounds for one explosion are they layered? I think what i need is a pure and simple config tutorial with what it all means is there such a thing?? for example why in some sound mods are there 8 different sounds for one thing? what are the numbers after each sound file how do you get some sounds to echo and other not to echo? (im assuming thats part of the config)

Thanks in advance for helping me <----n00b!

Edited by KCIV

Share this post


Link to post
Share on other sites
what the 0.25 stand for in

Begin sound begin",0.25

Its all about probabilty.

Its allows you to randomise which sounds play first, or if they play in order.

0.25 = 4 sounds, each having the same probability of playing. Changing that number changes the probability.

Hey guys im completely new to this sound modding i have a home studio so i know sound like the back of my hand! my only question is,,, how the heck do configs work? and when the config has like 8 freaking sounds for one explosion are they layered? I think what i need is a pure and simple config tutorial with what it all means is there such a thing?? for example why in some sound mods are there 8 different sounds for one thing? what are the numbers after each sound file how do you get some sounds to echo and other not to echo? (im assuming thats part of the config)

Thanks in advance for helping me <----n00b!

Oo lots of questions here. Most are answered in the begining of this thread, however your best bet is to choose a 'modular' sound mod thats already released and play with just one of the 'modules' until you understand how it works, and then move on to another.

Sadly there is no guide.. Normally I would offer my full assistance but your unlucky since now I have fulltime work. Maybe I could help you alittle over a weekend ? If you are interested then shout me on my MSN. (contract address is in my profile).

Share this post


Link to post
Share on other sites

Oo lots of questions here. Most are answered in the begining of this thread, however your best bet is to choose a 'modular' sound mod thats already released and play with just one of the 'modules' until you understand how it works, and then move on to another.

Sadly there is no guide.. Normally I would offer my full assistance but your unlucky since now I have fulltime work. Maybe I could help you alittle over a weekend ? If you are interested then shout me on my MSN. (contract address is in my profile).

Thank you so much! I tried reading the thread but I didn't seem to find what I was looking for. I'll look harder next time :) And that would be great! Thank you so much for your help :):)

Share this post


Link to post
Share on other sites

Hi everyone!

I've got a vaguely sound-related question maybe one of you audio config experts might be able to help with... Since it looks like you guys have been all over the game configs - has anyone discovered precisely where/how the Whooshy/Roaring sea noise is defined?

Myself and several other terrain designers would dearly love to be able to control/edit and generally turn that down a bit!!!

Not quite the sort of sounds you guys deal with I guess - and it doesn't seem to be one of the regular "environment" sounds either... Just wondered if anyone had come across any sort of definition anywhere... finding where it's defined would be a good first step towards eliminating whooshy sounds where "sea" is used for "rivers" or "lakes"...

B

Share this post


Link to post
Share on other sites

Hi mate,

I think I can help you. One sec,

class Sea

{

sound[] ={"\HiFi_DS_Environment\Sea\Sea_Day",0.1,1};

volume = "sea";

soundNight[] ={"\HiFi_DS_Environment\Sea\Sea_Night",0.379823,1};

Thats the sea classes, I can't recall where they are in the bis pbo's though sorry..

EDIT:

I've made a quick template to cover the sounds you want to dampen. You just need to make folder of named 'BIS_Sea_Replacement' drop this config inside. Then add some silent/better sounds named the same as the ones in the config. Should work first time.

Double EDIT:

I included sounds for thunder too, if you don't want to change them, just comment them out ;)

// BIS_Sea_Replacement based on Kju's MST, edited by Mark XIII

// BIS_Sea_Replacement.pbo

class CfgPatches

{

class BIS_Sea_Replacement

{

units[] = {};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {"CAData", "CAAir","CAAir2","CAAir3","CAAir_E","CAA10","CACharacters","CACharacters_E_Head","CASounds","CAWeapons","CAWeapons2","CAWheeled","CAWheeled2","CAWheeled3","CATracked","CATracked2","CA_E","CACharacters_E","CAWeapons_E","CAWheeled_E","CATracked_E","CARoads_E","CARocks_E","CAStructures_E","CAMisc_E","CAAir_E"};

};

};

class DefaultWorld;

class Weather;

class CfgWorlds

{

class CAWorld: DefaultWorld

{

class Weather: Weather

{

class ThunderboltNorm

{

soundNear[] ={"\BIS_Sea_Replacement\Thunder_close_1",31.6228,1};

soundFar[] ={"\BIS_Sea_Replacement\Thunder_far_1",10,1};

};

class ThunderboltHeavy

{

soundNear[] ={"\BIS_Sea_Replacement\Thunder_close_2",31.6228,1};

soundFar[] ={"\BIS_Sea_Replacement\Thunder_far_2",10,1};

};

};

};

};

class CfgEnvSounds

{

class Rain

{

sound[] ={"\BIS_Sea_Replacement\Rain_Day",2.379823,1};

soundNight[] ={"\BIS_Sea_Replacement\Rain_Night",1.379823,1};

volume = "rain";

class Sea

{

sound[] ={"\BIS_Sea_Replacement\Sea_Day",0.1,1};

volume = "sea";

soundNight[] ={"\BIS_Sea_Replacement\Sea_Night",0.379823,1};

};

};

};

Edited by Mark XIII
EDITING :/

Share this post


Link to post
Share on other sites

Wow Mark!

You're a genius! Thanks very much for taking the time to reply!

We were just talking about this over in the Islands section and had pretty much come to the conclusion that we were stuck with default settings!

I'll post a link to this thread over in the Islands section then see about adapting your code into the island config and directing it to a sounds folder in my objects.pbo I think - tho I guess I could stash the sounds in the island itself, come to think of it...

Brilliant!

I'll post back and let you know how it goes...

cheers again!

B

Share this post


Link to post
Share on other sites

The above solution is not the best possible, as you're going to overwrite the EnvSounds globally, meaning all Islands/terrains are going to be affected. Which is not recommended.

Here's an example for the better solution.

Change the envSounds, but for your Island only.

Share this post


Link to post
Share on other sites

Hey all!

Im trying to soundmod I44's P-51D and having a little trouble.

This is the error im getting from the RPT:

Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineLowOut.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineLowOut.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineHighOut.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineHighOut.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/ForsageOut.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/ForsageOut.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/WindNoiseOut.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/WindNoiseOut.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineLowIn.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineLowIn.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineHighIn.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/EngineHighIn.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/ForsageIn.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/ForsageIn.volume'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/WindNoiseIn.frequency'.
Warning Message: '/' is not a value
Warning Message: No entry 'bin\config.bin/CfgVehicles/I44_Plane_A_P51D/Sounds/WindNoiseIn.volume'.
Warning Message: '/' is not a value

My config is as follows:

class CfgPatches {
class HFMustang {
	units[] = {};
	requiredAddons[] = {};
};
};

class CfgVehicles {

class Plane; // External class reference
class I44_Plane; //External class reference
class I44_Plane_A; //External class reference

class I44_Plane_A_P51D : I44_Plane_A {

	soundGetIn[] = {"HFMustang\Sounds\Misc\In.wss", db-25, 1};
	soundGetOut[] = {"HFMustang\Sounds\Misc\Out.wss", db-25, 1, 40};
	soundDammage[] = {"HFMustang\Sounds\Misc\Damage.wss", 0.562341, 1};
	soundEngineOnInt[] = {"HFMustang\Sounds\Start\Startin.wss", 0.316228, 1.0};
	soundEngineOnExt[] = {"HFMustang\Sounds\Start\Startout.wss", 0.562341, 1.0, 500};
	soundEngineOffInt[] = {"HFMustang\Sounds\Shutdown\Offin.wss", 0.316228, 1.0};
	soundEngineOffExt[] = {"HFMustang\Sounds\Shutdown\Offext.wss", 0.562341, 1.0, 500};


	class Sounds {
		class EngineLowOut {
			sound[] = {"HFMustang\Sounds\Out\idle.wss", db8, 1.0, 1200};
		};

		class EngineHighOut {
			sound[] = {"HFMustang\Sounds\Out\Max.wss", db8, 1.3, 2200};
		};

		class ForsageOut {
			sound[] = {"HFMustang\Sounds\Out\Roar.wss", db5, 0.8, 2000};
		};

		class WindNoiseOut {
			sound[] = {"HFMustang\Sounds\Out\Air.wss", db-5, 1.0, 150};
		};

		class EngineLowIn {
			sound[] = {"HFMustang\Sounds\In\idle.wss", db0, 1.0};
		};

		class EngineHighIn {
			sound[] = {"HFMustang\Sounds\In\Max.wss", db0, 1.0};
		};

		class ForsageIn {
			sound[] = {"HFMustang\Sounds\In\roar.wss", db-10, 1.0};
		};

		class WindNoiseIn {
			sound[] = {"HFMustang\Sounds\In\Air.wss", db-10, 1.0};
		};
	};
};
};

The P51 is defined in a weird way. It goes:

Plane --> I44_Plane --> I44_Plane_A --> I44_Plane_A_P51D

I cannot get to the bottom of this issue. Please help! :eek:

Thanks,

~H

Share this post


Link to post
Share on other sites

Hi, I don't have much time but try this...

class Sounds {

class EngineLowOut {

sound[] = {"HFMustang\Sounds\Out\idle.wss", db8, 1.0, 1200};

frequency = "1.0 min (rpm + 0.5)";

volume = "camPos*engineOn*(rpm factor[0.85, 0])";

};

class EngineHighOut {

sound[] = {"HFMustang\Sounds\Out\Max.wss", db8, 1.3, 2200};

frequency = "1";

volume = "camPos*engineOn*(rpm factor[0.55, 1])";

};

class ForsageOut {

sound[] = {"HFMustang\Sounds\Out\Roar.wss", db5, 0.8, 2000};

frequency = "1";

volume = "camPos*engineOn*(thrust factor[0.5, 1])";

cone[]={1.14,3.92,2,0.4};

};

class WindNoiseOut {

sound[] = {"HFMustang\Sounds\Out\Air.wss", db-5, 1.0, 150};

};

class EngineLowIn {

sound[] = {"HFMustang\Sounds\In\idle.wss", db0, 1.0};

frequency = "1.0 min (rpm + 0.5)";

volume = "(1-camPos)*(engineOn*(rpm factor[0.85, 0]))";

};

class EngineHighIn {

sound[] = {"HFMustang\Sounds\In\Max.wss", db0, 1.0};

frequency = "1";

volume = "(1-camPos)*(engineOn*(rpm factor[0.55, 1]))";

};

class ForsageIn {

sound[] = {"HFMustang\Sounds\In\roar.wss", db-10, 1.0};

frequency = "1";

volume = "(1-camPos)*(engineOn*(thrust factor[0.5, 1]))";

};

class WindNoiseIn {

sound[] = {"HFMustang\Sounds\In\Air.wss", db-10, 1.0};

};

};

};

};

Should help I hope :)

Share this post


Link to post
Share on other sites

Hey Mark

btw anyone knows the right config names for all BAF helis?

I have found myself from BAF lite ,but my sounds doesnt work on them - still the BIS ones are on :(

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
Sign in to follow this  

×