Jump to content
Sign in to follow this  
rocket

Yet another environment sounds problem...

Recommended Posts

I've tried the methods that Snake_Man and spirit have raised and discussed - yet I am unable to alter the forest sounds for my map. I wanted to change some of the bird sounds to ones local to the area my map is based.

I tried having it in the main config, and also nested inside CfgWorlds. Here is what I have:

			class Forest {
			name = $STR_DN_WIND;
			//sound[] = {"ca\sounds\Ambient\forest\forest-day-2", 0.0398107, 1};
			sound[] = {"usec_aoraki\sounds\forest-sfx-nz-tui-1", 0.0398107, 1};
			volume = "forest";
			randSamp11[] = {"usec_aoraki\sounds\forest-sfx-nz-tui-1", 0.1, 1, 30, 0.14, 5, 8, 10}; //
			randSamp10[] = {"ca\sounds\Ambient\forest\forest-sfx-12datel", 0.1, 30, 0.125, 10, 20, 40};
			randSamp0[] = {"usec_aoraki\sounds\forest-sfx-nz-fantail-1", 0.125893, 1, 30, 0.13, 4, 8, 12}; //
			randSamp1[] = {"usec_aoraki\sounds\forest-sfx-nz-tui-2", 0.125893, 1, 30, 0.125, 4, 8, 12}; //
			randSamp2[] = {"usec_aoraki\sounds\forest-sfx-nz-tui-3", 0.125893, 1, 30, 0.125, 4, 8, 12}; //
			randSamp3[] = {"usec_aoraki\sounds\forest-sfx-nz-tui-4", 0.125893, 1, 30, 0.1, 4, 8, 12}; //
			randSamp8[] = {"ca\sounds\Ambient\forest\forest-sfx-10bird-flapping", 0.1, 1, 30, 0.04, 10, 20, 40};
			randSamp9[] = {"ca\sounds\Ambient\forest\forest-sfx-11holub-flapping", 0.1, 1, 30, 0.04, 10, 20, 40};
			randSamp4[] = {"usec_aoraki\sounds\forest-sfx-nz-cicada-1", 0.1, 1, 30, 0.025, 4, 8, 10};
			randSamp5[] = {"ca\sounds\Ambient\forest\forest-sfx-2", 0.1, 1, 30, 0.025, 4, 8, 10};
			randSamp6[] = {"ca\sounds\Ambient\forest\forest-sfx-3", 0.1, 1, 30, 0.025, 4, 8, 10};
			randSamp7[] = {"ca\sounds\Ambient\forest\forest-sfx-4", 0.1, 1, 30, 0.025, 4, 8, 10};
			random[] = {"randSamp11", "randSamp10", "randSamp0", "randSamp1", "randSamp2", "randSamp3", "randSamp8", "randSamp9", "randSamp4", "randSamp5", "randSamp6", "randSamp7"};
		};

My land type definition is:

	class usec_Forest : Default {
	access = ReadOnly;
	files = "usec_forest_*";
	rough = 0.2;
	dust = 0.15;
	soundEnviron = "forest";
	character = "USEC_ForestClutter";
	soundHit = "soft_ground";
};

Has anyone had any luck altering the sounds that are played within the forest?

Share this post


Link to post
Share on other sites

Just my noobish words here but there is a difference between surface sounds and environment sounds. Teh above defines the environment sounds for example when it encounters forest (it sees object tree a couple of times). The other is a reference to a sound surface declaration and for that cannot point to a world environment sound declaration.

Not sure if that is true, but that is how i always saw it. So my question here is:

- Are you trying to get your own sounds for the surfaces (you walk, run, crouch on that surface)

- are you trying to get your own environments sounds like birds, wind in trees etc etc

Or something totaly different?

Share this post


Link to post
Share on other sites

@Rocket,

Try this,

e.g

was

randSamp11[] = {"usec_aoraki\

should usually be like this,

randSamp11[] = {"\usec_aoraki\

missing one of these "\" maybe?

Share this post


Link to post
Share on other sites

After endless hours of work I figured the parameters for Random Environmentsounds out.

RandSamp0[] = {SOUNDFILE, VOLUME, PITCH, PROBABILLITY, ??, Min DELAY, Mid DELAY, Max DELAY}
RandSamp0[] = {"MBG_Nam_C\ambient\MACAW01",6,1,90,0.07,4,8,12};

Though apparently only the first two random sounds appear to work. Still figuring that out.

Edit:

Most of the sounds defined in the Random[] Array do not play at all.

So far the only sound that plays completely is the first entry of Random Array. If I alter the file of the first entry,that new sound will play as well.

Resulting out of my frustrating attempts of getting all the sounds to work properly, I discovered, that:

  • The first entry of Random[] will play completely without any problems.
  • The second entry of Random[] will play for 0.4 seconds, and then end abruptly.
  • Any further entries of Random[] will not play at all.

Has anyone any idea why this happens?

Edited by Mondkalb

Share this post


Link to post
Share on other sites

Of what i have seen the sound params always run with a distance setting now in Arma2.

So you are leaving a param out of the array right in the place you are having problems .

Try this theory-

RandSamp0[] = {SOUNDFILE, VOLUME, PITCH,DISTANCE , PROBABILLITY, Min DELAY, Mid DELAY, Max DELAY}

RandSamp0[] = {"MBG_Nam_C\ambient\MACAW01",6,1,90,0.07,4,8,12};

Once we add the distance param the other params look as if they make more sense considering what your problems are.

Hope it helps.

Share this post


Link to post
Share on other sites

Although I'm struggling like hell myself with some volumes in my own ambience mod, I've found that random samples works best if the ambient sample is 22050Hz Mono, containing a dummy sample. So with that in mind I have separated all random samples from their ambient samples. You could try that and see if it helps.

I'm not sure if there is a limit to how long the random samples can be, but when I split things up into several new classes, my problem of samples not completing seemed to go away.

Examples:

Ambiance sound only, for forest:

class Forest {
sound[] = {
	"\BiB_Ambience\AmbientSounds\Forest_Day",
	0.039811,
	1
};
volume = "forest*(1-night)";
};
class ForestNight {
sound[] = {
	"\BiB_Ambience\AmbientSounds\Forest_Night",
	0.056234,
	1
};
volume = "forest*night";
};
//Note how there are no random samples in this one, only the ambience

Wind tree effects, split into several new classes

class SFX_ForestWindLow {
sound[] = {
	"\BiB_Ambience\NoSound",
	0.156234,
	1
};
volume = "0.15*forest*(windy factor[0.2,0.5])";
randSamp1[] = {
	"BiB_Ambience\SFX-Forest\TreeWind01",
	0.010000,
	1,
	50,
	0.025000,
	8,
	15,
	20
};
randSamp2[] = {
	"BiB_Ambience\SFX-Forest\TreeWind02",
	0.010000,
	1,
	50,
	0.025000,
	8,
	15,
	20
};
randSamp3[] = {
	"BiB_Ambience\SFX-Forest\TreeWind03",
	0.010000,
	1,
	50,
	0.025000,
	8,
	15,
	20
};
randSamp4[] = {
	"BiB_Ambience\SFX-Forest\TreeWind04",
	0.010000,
	1,
	50,
	0.025000,
	8,
	15,
	20
};
randSamp5[] = {
	"BiB_Ambience\SFX-Forest\TreeWind05",
	0.010000,
	1,
	50,
	0.025000,
	8,
	15,
	20
};
random[] = {
	"randSamp1",
	"randSamp2",
	"randSamp3",
	"randSamp4",
	"randSamp5",
};
};
class SFX_ForestWindMed {
sound[] = {
	"\BiB_Ambience\NoSound",
	0.156234,
	1
};
volume = "0.17*forest*(windy factor[0.3,0.6])";
randSamp1[] = {
	"BiB_Ambience\SFX-Forest\TreeWind06",
	0.012000,
	1,
	50,
	0.150000,
	4,
	10,
	15
};
randSamp2[] = {
	"BiB_Ambience\SFX-Forest\TreeWind07",
	0.012000,
	1,
	50,
	0.150000,
	4,
	10,
	15
};
randSamp3[] = {
	"BiB_Ambience\SFX-Forest\TreeWind08",
	0.012000,
	1,
	50,
	0.150000,
	4,
	10,
	15
};
randSamp4[] = {
	"BiB_Ambience\SFX-Forest\TreeWind09",
	0.012000,
	1,
	50,
	0.150000,
	4,
	10,
	15
};
randSamp5[] = {
	"BiB_Ambience\SFX-Forest\TreeWind10",
	0.012000,
	1,
	50,
	0.150000,
	4,
	10,
	15
};
random[] = {
	"randSamp1",
	"randSamp2",
	"randSamp3",
	"randSamp4",
	"randSamp5",
};
};
class SFX_ForestWindHigh {
sound[] = {
	"\BiB_Ambience\NoSound",
	0.156234,
	1
};
volume = "0.20*forest*(windy factor[0.4,0.7])";
randSamp1[] = {
	"BiB_Ambience\SFX-Forest\TreeWind11",
	0.014000,
	1,
	50,
	0.200000,
	4,
	6,
	8
};
randSamp2[] = {
	"BiB_Ambience\SFX-Forest\TreeWind12",
	0.014000,
	1,
	50,
	0.200000,
	4,
	6,
	8
};
randSamp3[] = {
	"BiB_Ambience\SFX-Forest\TreeWind13",
	0.014000,
	1,
	50,
	0.200000,
	4,
	6,
	8
};
randSamp4[] = {
	"BiB_Ambience\SFX-Forest\TreeWind14",
	0.014000,
	1,
	50,
	0.200000,
	4,
	6,
	8
};
randSamp5[] = {
	"BiB_Ambience\SFX-Forest\TreeWind15",
	0.014000,
	1,
	50,
	0.200000,
	4,
	6,
	8
};
random[] = {
	"randSamp1",
	"randSamp2",
	"randSamp3",
	"randSamp4",
	"randSamp5",
};
};
class SFX_ForestCreekLow {
sound[] = {
	"\BiB_Ambience\NoSound",
	1.056234,
	1
};
volume = "0.5*forest*(windy factor[0.5,0.75])";
randSamp1[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek01",
	0.160000,
	1,
	50,
	0.100000,
	8,
	15,
	20
};
randSamp2[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek02",
	0.160000,
	1,
	50,
	0.100000,
	8,
	15,
	20
};
randSamp3[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek03",
	0.160000,
	1,
	50,
	0.100000,
	8,
	15,
	20
};
randSamp4[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek04",
	0.160000,
	1,
	50,
	0.100000,
	8,
	15,
	20
};
randSamp5[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek05",
	0.160000,
	1,
	50,
	0.100000,
	8,
	15,
	20
};
random[] = {
	"randSamp1",
	"randSamp2",
	"randSamp3",
	"randSamp4",
	"randSamp5",
};
};
class SFX_ForestCreekHigh {
sound[] = {
	"\BiB_Ambience\NoSound",
	1.056234,
	1
};
volume = "0.8*forest*(windy factor[0.6,0.85])";
randSamp1[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek06",
	0.180000,
	1,
	50,
	0.150000,
	4,
	6,
	12
};
randSamp2[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek07",
	0.180000,
	1,
	50,
	0.150000,
	4,
	6,
	12
};
randSamp3[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek08",
	0.180000,
	1,
	50,
	0.150000,
	4,
	6,
	12
};
randSamp4[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek09",
	0.180000,
	1,
	50,
	0.150000,
	4,
	6,
	12
};
randSamp5[] = {
	"BiB_Ambience\SFX-Forest\TreeCreek10",
	0.180000,
	1,
	50,
	0.150000,
	4,
	6,
	12
};
random[] = {
	"randSamp1",
	"randSamp2",
	"randSamp3",
	"randSamp4",
	"randSamp5",
};
};
//Note the use of NoSound in the the ambience part.

A woodpecker, only a couple of samples so can get away with only one class:

class BiB_SFX_Woodpecker {
sound[] = {
	"\BiB_Ambience\NoSound",
	0.477828,
	1
};
volume = "0.1*(forest)*(1-houses)*(hills factor[0.1,0.0])";
sing1[] = {
	"\BiB_Ambience\SFX-Animals\WoodPecker01",
	0.017783,
	1,
	65,
	0.100000,
	15,
	60,
	240
};
sing2[] = {
	"\BiB_Ambience\SFX-Animals\WoodPecker02",
	0.017783,
	1,
	65,
	0.100000,
	15,
	60,
	240
};
random[] = {
	"sing1",
	"sing2"
};
};
//Again, NoSound as ambient.

All these are different files, which I then #include under whatever island I want them to be. I.e. I have sand, hills, lake (sea) and goose that are unique to Takistan/Zargabad. And forestanimals, frogs, mammals, sea (sea) and seagulls that are unique to Chernarus/Utes.

By splitting it up like this you allow yourself to have different animals follow different "rules". I.e. you can have a nightingale that only sings at night, goats only up in the mountain, birds that shuts up if it rains or is too windy etc. Makes the whole "ambient sound" experience a LOT more dynamic.

Oh, and be very careful what you put into the ambiance sounds. I.e. trying to put the sounds of a "living city" (easy to mix up) and base it on the (houses) parameter tend to no work well, because houses kick in for a lot more than you'd expect (myself and I guess every other sound modder out there have tried). Best to follow the BIS mindset on this one and stick with winds.

I would really Really REALLY REALLY like to see the BIS "rulebook" when it comes to sounds, how it's all connected and how things "work". I also wish we had diag_toggle available in editor mode, because this is a neverending frustrating nightmare. :eek:

What I have said is based on my current understanding and endless guesswork, it may be completely wrong.

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  

×