FAQ  •  Register  •  Login

Explanation of environment/sound-source preset - *.prs files

<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sat Nov 14, 2009 3:09 pm

Explanation of environment/sound-source preset - *.prs files

Hi all

this is a just small "give back" from me to this awesome community.

Each ".prs" file contains a collection of properties, a property set. According to their location they have a different function
  • a file located in ..\presets\acoustics\ contains a property set, called the listener property set. This describes the listener’s
    surrounding environment (the “room” in which the player (listener) listens ).(for example: if you are in the cockpit, or
    outside the plane )
  • a file located in ..\presets\sounds\ contains the second set, called the sound-source property set. This describes the way an
    individual source sounds within the surrounding environment. (for example: a plane´s engine , a gun shooting ...)
This first part is about the files in ..presets\acoustics
Landscape.prs defines the acoustic environment if you are outside of the plane.
All other .prs files define an basic acoustic environment, according to the construction of the pilot/gunner cockpit.
Look at the filenames and you can guess for which cockpit type they are responsible,
(note that a plane, that has a similar cockpit construction like the plane in the filename uses that file.
that´s the reason why there isn´t a file for each plane.)
for example:
  • bf109.prs sets the properties if you are in a closed fighter cockpit with front and middle section made out of glass and a solid metal rear section.
    (this is not only used by bf109)
  • i16.prs set the properties if you are in a fighter cockpit with an open middle section.
  • he_111.prs set the properties if you are big bomber cockpit.
While playing il2 the program determines in wich environment you currently are and sets the acoustics according to the environment settings that were made in these files.
I will try to explain the functions and meanings of each property by a closer look to a few example files. (look at later posts)
Be aware that i could be wrong in some cases.

English is not my native language, so please don´t worry about my "blue" english.

Rookie
Last edited by Rookie67 on Tue Jun 29, 2010 7:53 pm, edited 12 times in total.
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sat Nov 14, 2009 3:10 pm

a gunner environment

********** example file : he111_gunner.prs

[common]

envnum 2

[eax1]

type PADDEDCELL
room 0.3
decay 0.8
decayhf 0.5

[eax2]

type PADDEDCELL
room -4
roomhf -20
decay 0.8
decayhf 0.1
early 4
earlydelay 0.05
reverb 0
reverbdelay 0.1
size 3.0
diffusion 1.0
absorption -5


********************* end of file

Explanation:

[common] <- section start of common property settings

envnum 2 <- environment the player (you) is located and is listening to the sounds that occur.

possible value are :
  • 0 = outside the plane
  • 2 = open cockpit or open gunner position
  • 8 = inside the plane (closed cockpit or closed gunner position )

[eax1] <- section start of property settings if eax 1 is used

type PADDEDCELL <-- see below

room 0.3 <-- see below
decay 0.8 <-- see below
decayhf 0.5 <-- see below

[eax2] <- section start of property settings if eax 2 is used

type PADDEDCELL <-- this is the fundamental listener property.

You typically set it first and then—if you want—modify it using other listener properties described later in this section.
When you set an environment type , you choose the acoustic surroundings of the listener—the size of the virtual room around the listener and the reflective qualities of its walls.
When you modify the environment using the other listener properties you can, in particular, modify the room size or adjust lower level parameters such as the overall level and delay of the first reflections, the overall level of the subsequent reverberation, and the duration and tonal quality of the reverberation decay.
possible values are :
GENERIC, PADDEDCELL, ROOM, BATHROOM, LIVINGROOM, STONEROOM, AUDITORIUM, CONCERTHALL, CAVE, ARENA, HANGAR,
CARPETEDHALLWAY, HALLWAY, STONECORRIDOR, ALLEY, FOREST, CITY, MOUNTAINS, QUARRY, PLAIN, PARKINGLOT,
SEWERPIPE, UNDERWATER, DRUGGED, DIZZY or PSYCHOTIC

room -4 <-- The room property is the master volume control for the reflected sound (both early reflections and reverberation) that
EAX adds to all sound sources.
It sets the maximum amount of reflections and reverberation added to the sound mix i(the listener).
The value of the Room property ranges from 0 dB (the maximum amount) to -100 dB (no reflected sound at all).

Value range : -10000 to 0
Default value : Varies depending on the environment
Value units : Hundredths of a dB

roomhf -20 <-- The Room HF property further tweaks reflected sound by attenuating it at high frequencies.

It controls a low-pass filter that applies globally to the reflected sound of all sound sources.
The value of the roomhf property ranges from 0 dB (no filter) to -100 dB(virtually no reflected sound).

Value range : -10000 to 0
Default value : Varies depending on the environment
Value units : Hundredths of a dB

decay 0.8 <-- The decay property sets the reverberation decay time.

It ranges from 0.1 (typically a small room with very dead surfaces) to 20.0 (typically a large room with very live surfaces).
This low-level property may be controlled by the highlevel listener property Environment Size, in which case its value is scaled according to the value set there.

Value range : 0.1 to 20.0
Default value : Varies depending on the environment
Value units : A linear multiplier value

decayhf 0.1 <-- The decayhF Ratio property sets the spectral quality of the Decay parameter.

It is the ratio of high-frequency decay time relative to the time set by Decay.
The decayhf Ratio value 1.0 is neutral: the decay time is equal for all frequencies.
As Decayhf Ratio increases above 1.0, the high-frequency decay time increases so it’s longer than the decay time at low frequencies.
You hear a more brilliant reverberation with a longer decay at high frequencies.
As the decayhf Ratio value decreases below 1.0, the high-frequency decay time decreases so it’s shorter than the decay time of the low frequencies.
You hear a more natural reverberation.

Value range : 0.1 to 20.0
Default value : Varies depending on the environment
Value units : A linear multiplier value

early 4 <-- The early property controls the overall amount of initial reflections relative to the Room property.
(The Room property sets the overall amount of reflected sound: both initial reflections and later reverberation.)
The value of early ranges from a maximum of 10 dB to a minimum of -100 dB (no initial reflections at all), and is corrected by the value of the Room property.
The early property does not affect the subsequent reverberation decay.
You can increase the amount of initial reflections to simulate a more narrow space or closer walls, especially effective if you associate the initial reflections increase with a reduction in reflections delays by lowering the value of the earlydelay property.
To simulate open or semi-open environments, you can maintain the amount of early reflections while reducing the value of the Reverb property, which controls later reflections.

Value range : -10000 to 0
Default value : Varies depending on the environment
Value units : Hundredths of a dB

earlydelay 0.05 <-- The earlyDelay property is the amount of delay between the arrival time of the direct path from the source to the first reflection from the source.

It ranges from 0 to 300 milliseconds.
You can reduce or increase Reflections Delay to simulate closer or more distant reflective surfaces—and therefore control the perceived size of the room.
Both early and earlydelay are low-level properties that may be controlled by the high-level listener property Environment Size.
If so, their values are scaled according to the value set there.

Value range : 0.0 to 0.3
Default value : Varies depending on the environment
Value units : Seconds

reverb 0 <-- The reverb property controls the overall amount of later reverberation relative to the Room property.

(The Room property sets the overall amount of both initial reflections and later reverberation.)
The value of Reverb ranges from a maximum of 20 dB to a minimum of -100 dB (no late reverberation at all).
Note that Reverb and Decay Time are independent properties: If you adjust Decay Time without changing Reverb, the total intensity (the averaged square of the amplitude) of the late reverberation remains constant.

Value range : -10000 to 2000
Default value : Varies depending on the environment
Value units : Hundredths of a dB

reverbdelay 0.1 <-- The reverbdelay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections).

It ranges from 0 to 100 milliseconds.
Reducing or increasing Reverb Delay is useful for simulating a smaller or larger room.
Both reverb and reverbdelay are low-level properties that may be controlled by the high-level listener property Environment Size.
If so, their values are scaled according to the value set there.
For example, if you increase Environment Size, the intensity of later reverberation reduces.

Value range : 0.0 to 0.1
Default value : Varies depending on the environment
Value units : Seconds

size 3.0 <-- The size property sets the apparent environment size (size of the surrounding “room.”)

The value of Environment Size can be considered a characteristic dimension of the room expressed in meters.
Scaling Environment Size is equivalent to scaling all dimensions of the room by the same factor.
Because Environment Size is a high-level property, when you change it it applies a relative adjustment to lower-level listener properties that determine the shape of the reverberation response:
Reflections, Reflections Delay, Reverb, Reverb Delay, and Decay Time.
When you change the value of Environment Size, it actually changes the values of the lower-level properties.

Value range : 1.0 to 100.0
Default value : 7.5
Value units : Linear meters

diffusion 1.0 <-- The diffusion property controls the echo density in the reverberation decay.

If set to 1.0, provides the highest density.
Reducing diffusion gives the reverberation a more “grainy” character that is especially noticeable with percussive sound sources.
If you set a diffusion value of 0.0, the later reverberation sounds like a succession of distinct echoes.

absorption -5 <-- The Absorption property controls the distance-dependent attenuation at high frequencies caused by the propagation medium.

It applies to both the direct path and reflected sound.
You can use absorption to simulate sound transmission through foggy air, dry air, smoky atmosphere, and so on.
The default value is -0.05 dB per meter, which roughly corresponds to typical condition of atmospheric humidity, temperature, and so on.
Lowering the value simulates a more absorbent medium (more humidity in the air, for example).
Raising the value simulates a less absorbent medium (dry desert air, for example).

Value range : -100.0 to 0.0
Default value : -5.0
Value units : Hundredths of a dB per meter
Last edited by Rookie67 on Tue Jun 29, 2010 8:26 pm, edited 5 times in total.
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sat Nov 14, 2009 3:11 pm

landscape environment

**************** example file: Landscape.prs

[common]

envnum 0
hcontrol 1

[eax1]
Type MOUNTAINS
Room 0.2
Decay 3.9
DecayHf 0.16

[hcontrol.eax1]
min 0.5
bound 500


[eax2]

type MOUNTAINS
room 0
roomhf -36
decay 3.2
decayhf 0.15
early -15
earlydelay 0.3
reverb -8
reverbdelay 0.1
size 100.0
diffusion 0.9
absorption -5

[hcontrol.eax1]
min 0.5
bound 500


********************** end of file



for most properties see earlier posting

new Property: hcontrol

please note that hcontrol is only used in this file - outside view mode (landscape environment).

Explanation:

hcontrol 1 <-- hcontrol activation

possible values are:
  • 0 = deactivated,
  • 1 = activated

[hcontrol.eax1] <--- hcontrol settings for eax 1

min 0.5
bound 500


[hcontrol.eax1] <--- hcontrol settings for eax 2
min 0.5 <--- minimum distance
bound 500<-- the values of min and bound are used by il2 to calculate the roomrolloff property

The Room Rolloff property is a method in EAX to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance.

Setting the Room Rolloff Factor value to 1.0 specifies that the reflected sound will decay by 6dB every time the distance doubles.

Any value other than 1.0 is equivalent to a scaling factor applied to the quantity specified by ((Source listener distance) - (Minimum Distance)).

Minimum distance is a DirectSound sound-source parameter that specifies the inner border for distance rolloff effects:
if the source comes closer to the listener than the minimum distance, the direct-path sound isn’t increased as the source comes closer to the listener, and neither is the reflected sound.

Value range : 0.0 to ?
Default value : ?
Value units : meter
Last edited by Rookie67 on Tue Jun 29, 2010 8:30 pm, edited 4 times in total.
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sat Nov 14, 2009 3:13 pm

a cockpit environment

**************** example file bf109.prs

[common]


envnum 8
EAXMix 0.6
occlusion -8
occllf 0.66
eaxroom 0.66
obstruction -8
obstrlf 0.66


[eax1]

type PADDEDCELL
room 0.25
decay 0.26
decayhf 0.8

[eax2]

type PADDEDCELL
room -4
roomhf -24
decay 3.8
decayhf 0.1
early 6
earlydelay 0.05
reverb 6
reverbdelay 0.05
size 1.0
diffusion 1.0
absorption -5

************** end of file

for most properties see earlier posting

Explanation of new ones:


EAXMix 0.6 <-- of course this sets a mixture, but up to now i´m not sure how it works, and what´s more:
im not able to hear a difference after i changed this value.
I don´t want to speculate, so i can´t really explain it to you , sorry guys.

occlusion -8 <-- The occlusion property specifies the amount of occlusion muffling to apply to a sound source’s direct sound and to its reflected sound.

Occlusion occurs when the listener is in one room or environment, the sound source is in another room or environment, and the listener hears the sound through a separating wall or through an opened or closed door or window.
Both the direct sound and the reflected sound from the sound source are muffled by the occlusion.
The effect of occlusion depends a great deal on the sound transmission qualities of the material separating the two rooms.
Some materials are thick and absorbent and transmit very little sound, others are stiff and thin and transmit clearly, others have transmission qualities in between.
Frequency response varies too.
Some materials attenuate high frequencies more than others.
The value controls the degree to which both the direct-path and reflected sound from the source are muffled.
If the Occllf property (described below) is set to 0.0, Occlusion controls only attenuation at high frequencies.
If Occlf Ratio is set above 0.0, Occlusion also muffles low frequencies to the extent specified by Occlf.
Occlusion’s maximum value, 0, specifies no attenuation and hence no occlusion effect.
The minimum value, –10000 (which is -100 dB), indicates that the sound source is so occluded that it is completely inaudible—at least if Occllf
specifies that low frequencies are equally occluded with high frequencies.
If it doesn’t, low frequencies will still be audible.
Any value between minimum and maximum indicates partial occlusion.

Value range :-10000 to 0
Default value : 0
Value units : Hundredths of a dB

occllf 0.66 <-- The Occllf property affects the spectral quality of occlusion set by the Occlusion property:
it specifies the occlusion attenuation at low frequencies relative to the attenuation at high frequencies.
The minimum value of 0.0 specifies no attenuation at low frequencies. the maximum value of 1.0 specifies the same low-frequency attenuation as high-frequency attenuation.
The default setting of 0.25 specifies that low frequencies are attenuated much less than high frequencies.
Note that adjusting Occlf alone has no effect if Occlusion is set to 0.

Value range : 0.0 to 1.0
Default value : 0.25
Value units : A linear multiplier value

eaxroom 0.66 <-- not sure, i don´t want to speculate, so no explanation again.

obstruction -8 <-- The Obstruction property specifies the amount of obstruction muffling to apply to a sound source’s direct-path sound.

Obstruction occurs when an object lies between a sound source and a listener who occupy the same room.
The direct path from source to listener is muffled by the obstruction, but the reflected sound from the source remains unchanged.
The value controls the degree to which the direct path from the source is muffled.
If the obstrlf property (described below) is set to 0.0, Obstruction controls only attenuation at high frequencies.
If obstrlf is set above 0.0, Obstruction also muffles low frequencies to the extent specified by Obstrlf.
Obstruction’s maximum value, 0, specifies no attenuation and hence no obstruction effect.
The minimum value, –10000 (which is -100 dB), indicates that the sound source is so obstructed that the direct path from source to listener is negligible—so only the source’s reflected sound is audible.
Any value between minimum and maximum indicates partial obstruction.
Note that you can use Obstruction and Occlusion simultaneously.
If, for example, the source is in another room from the listener and there’s also a large obstacle between the listener and the wall.
In this case the dry path is filtered twice: once by Occlusion and once by Obstruction.

Value range : -10000 to 0
Default value : 0
Value units : Hundredths of a dB

obstrlf 0.66 <-- The obstrlf property affects the spectral quality of obstruction set by the Obstruction property:

it specifies the obstruction attenuation at low frequencies relative to the attenuation at high frequencies.
The minimum value of 0.0 specifies no attenuation at low frequencies.
the maximum value of 1.0 specifies the same low-frequency attenuation as high-frequency attenuation.
Note that adjusting Obstrlf alone has no effect if Obstruction is set to 0.

Value range : 0.0 to 1.0
Default value : 0.0
Value units : A linear multiplier value
Last edited by Rookie67 on Tue Jun 29, 2010 8:43 pm, edited 1 time in total.
<<

Jiver

Posts: 20

Joined: Tue Nov 25, 2008 2:16 pm

Location: Sacramento, CA

Post Sat Nov 14, 2009 5:35 pm

Rookie67,

Thank you very much for posting this information!!! I have always wondered what these settings control. Your post will make it much easier for those of us who make sound mods or for folks who just like to tweak their sounds. Well done!

This needs to be a sticky! :D
<<

GeneralPsycho

User avatar

Posts: 1137

Joined: Wed Jun 04, 2008 11:28 pm

Location: Belarus or USA, More likely Belarus, too fed up with Obama.

Post Sat Nov 14, 2009 6:46 pm

^ +1 what this guy said ^^
<<

moxy

Posts: 29

Joined: Sat Jun 28, 2008 7:05 pm

Location: chi

Post Sat Nov 14, 2009 8:10 pm

I have busting my chops on this, through the internet and trial and lots of error
Thank you
Moxy
<<

Saburo Sakai

Posts: 536

Joined: Sun Nov 09, 2008 9:00 pm

Location: land of the rising sun

Post Sat Nov 14, 2009 9:31 pm

Yeah, good move rookie, thanks for your time on this :)
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sun Nov 15, 2009 10:34 am

part 2 - explanation of sound-source presets

Hi all again

starting part 2 now.

as allready said files located in ..\presets\sounds\ contain the second set, called the sound-source property set.

This describes the way an individual source sounds within the surrounding environment. (for example: a plane´s engine , a gun shooting ...)

Look at the filenames and you can guess for which sound they are responsible, for example:

  • aircraft.common.prs - general sound settings for engine driven plane
  • aircraft.common_w.prs - sound settings saling plane
  • aircraft.door.prs - sound settings for door open/close
  • chrash.*.prs - sounds property settings for the last sound you can hear
  • exlode.*.prs - sounds property settings for explosion sounds
  • hit.air.prs - sounds property settings for an "impact to your plane shell" sound
  • models.*.prs - sound settings for static object like cars, trucks, ...
  • motor.*.prs - sounds property settings for plane engines
  • weapon.*.prs - sounds property settings for tak, tak, tak :)
Please note that i´m now talking about sound-sources not environments.

I will try to explain the functions and meanings of the properties not mentioned before by a closer look to a few example files. (look at later posts)

Rookie
Last edited by Rookie67 on Tue Jun 29, 2010 8:55 pm, edited 2 times in total.
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sun Nov 15, 2009 10:44 am

sound-source property settings example

************** example file: motor.Allison.prs

[common]
mode relobj pos
type mixer
infinite 1

EAXMix 0
occlusion -200
occllf 0.25
eaxroom 10
obstruction -200
obstrlf 0.25

mutable 1

[spl]
107


[samples]
Merlin_XX_Starter.wav
Allison_1000.wav
Allison_1500.wav
Allison_2000.wav
Allison_2700.wav
Allison_2701.wav
xAllison_1000.wav
xAllison_1001.wav
xAllison_1500.wav
xAllison_2000.wav
xAllison_2700.wav
xAllison_2701.wav
dmg_86_0m.wav


[sample.Merlin_XX_Starter.wav]
infinite 1
controls rpm start

[sample.Merlin_XX_Starter.wav.rpm]
minlo 20
minhi 30
maxlo 150
maxhi 250
value 0.5
pmin 0.6
pmax 1.8

[sample.Merlin_XX_Starter.wav.start]
minlo 0
minhi 0.5
maxlo 1.5
maxhi 2.0
value 1.0
pmin 1.0
pmax 1.0

[sample.Allison_1000.wav]
infinite 1
env 8
controls rpm

[sample.Allison_1000.wav.rpm]
minlo 0
minhi 700
maxlo 1300
maxhi 1900
value 3.0
pmin -1.0
pmax 1000

[sample.Allison_1000.wav.start]
minlo 0
minhi 0.5
maxlo 1.5
maxhi 2.0
value 3.0
pmin 1.0
pmax 1.0

[sample.Allison_1500.wav]
infinite 1
env 8
controls rpm

[sample.Allison_1500.wav.rpm]
minlo 600
minhi 1200
maxlo 1500
maxhi 2500
value 4.0
pmin -1.0
pmax 1500

[sample.Allison_2000.wav]
infinite 1
env 8
controls rpm

[sample.Allison_2000.wav.rpm]
minlo 800
minhi 1800
maxlo 2200
maxhi 3200
value 5.0
pmin -1.0
pmax 2000

[sample.Allison_2700.wav]
infinite 1
env 8
controls rpm

[sample.Allison_2700.wav.rpm]
minlo 1400
minhi 2400
maxlo 6000
maxhi 6500
value 6.0
pmin -1.0
pmax 2700

[sample.Allison_2701.wav]
infinite 1
env 8
controls rpm

[sample.Allison_2701.wav.rpm]
minlo 1400
minhi 2400
maxlo 6000
maxhi 6500
value 6.0
pmin -1.0
pmax 2700


[sample.xAllison_1000.wav]
infinite 1
env 0 2
controls rpm

[sample.xAllison_1000.wav.rpm]
minlo 100
minhi 700
maxlo 1300
maxhi 1900
value 3.0
pmin -1.0
pmax 1000

[sample.xAllison_1000.wav.start]
minlo 0
minhi 0.5
maxlo 1.5
maxhi 2.0
value 3.0
pmin 1.0
pmax 1.0

[sample.Allison_1001.wav]
infinite 1
env 0 2
controls rpm

[sample.Allison_1001.wav.rpm]
minlo 100
minhi 700
maxlo 1300
maxhi 1900
value 3.0
pmin -1.0
pmax 1000

[sample.xAllison_1500.wav]
infinite 1
env 0 2
controls rpm

[sample.xAllison_1500.wav.rpm]
minlo 600
minhi 1200
maxlo 1700
maxhi 2600
value 3.0
pmin -1.0
pmax 1500

[sample.xAllison_2000.wav]
infinite 1
env 0 2
controls rpm

[sample.xAllison_2000.wav.rpm]
minlo 500
minhi 1200
maxlo 1400
maxhi 2200
value 3.0
pmin -1.0
pmax 2000

[sample.xAllison_2700.wav]
infinite 1
env 0 2
controls rpm

[sample.xAllison_2700.wav.rpm]
minlo 1200
minhi 2200
maxlo 6000
maxhi 6500
value 4.5
pmin -1.0
pmax 2700

[sample.xAllison_2701.wav]
infinite 1
env 0 2
controls rpm

[sample.xAllison_2701.wav.rpm]
minlo 1000
minhi 2400
maxlo 6000
maxhi 6500
value 7.0
pmin -1.0
pmax 2700


[sample.dmg_86_0m.wav]
infinite 1
controls rpm damage

[sample.dmg_86_0m.wav.rpm]
minlo 500
minhi 2000
maxlo 4000
maxhi 6000
value 2.0
pmin 0.4
pmax 2.2

[sample.dmg_86_0m.wav.damage]
minlo 0.1
minhi 0.6
maxlo 1.0
maxhi 2.0
value 2.0
pmin 1.0
pmax 1.0

[emit]
start

[emit.start]
speed 5
srand 0.15
vrand 0.1
prand 0.06
spl 85

num 3

sample0 an2_cyl_00.wav
sample1 an2_cyl_01.wav
sample2 an2_cyl_02.wav

*********************** end of file

Explanation:

for the explanation EAXMix, occlusion, occllf, obstruction and obstrlf see earlier posts.

EAXRoom <-- now seems to be the size of the "room" for this sound-source property set, that
"corrects" the size given by the surrounding environment.
This may effect the other properties.

new properties

[common]

mode relobj pos <-- in the case of a motor.* named file this is always this value
it means that all settings depend on the relative position of/to the object in the surrounding environment.

type mixer <-- again in the case of this file "type" (engine sound defintion) this value is always the same
alltough possible values are:
mixer - sounds are mixed
normal - may be other sounds are muted/ or can mute this sound - sounds are not mixed ?

infinite 1 <-- determines if the sounds are infinite or not
possible values are:
0 = sound is played once
1 = sound is repeated if wave file reached his end


mutable 1 <-- this explains it self ?
possible values are:
0 = not mutable
1 = mutable

[spl] <- sound property level/ speaker level or something like that, general volume setting
107Note that this property is a basic volume settings and effects all other properties that deal with the volume.

if set to 70 or less the sound of the engine if very low, down to being audible
if set above 100 (what is possible) you may get crackling effects (issues).


value range : 0.0 to 100 and more, up to ?
Default value : 70.0
Value units : dB ?


[samples] <-- in this section all .wav files this sound source property preset uses should be enumerated

Merlin_XX_Starter.wav <-- sound of engine starter
Allison_1000.wav <-- in ideal case this .wav file contains the sound of an Allision engine at 1000 rpm (rounds per minute)
Allison_1500.wav <-- 1500 rpm
Allison_2000.wav <-- and so on
Allison_2700.wav
Allison_2701.wav
xAllison_1000.wav <-- x in the filename indicates that the .wav file contains an external sound.

that is not a must be, but a good structure for the overview.

xAllison_1001.wav
xAllison_1500.wav
xAllison_2000.wav
xAllison_2700.wav
xAllison_2701.wav
dmg_86_0m.wav
<-- sound if engine is damaged

each of this file should have a definition area in the file (see below)



[sample.Allison_2700.wav] <-- section start for the the definition of this .wav file

infinite 1 <-- see above
env 8 <-- this property determines the environment in wich this sound is audible (could be more than one, for combination)

possible values are:
0 = outside (you are in the landscape)
2 = open gunner positon (you are inside and outside)
8 = inside the plane (cockpit, gunner)


Please note that the soundfile related to this section, should ideally contain a sound according to the environment set here.

controls rpm <-- this property defines which engine/game parameter(s) control this sound.

In this case the rounds per minute of the engine determines how the sound is altered.
the value of the property controls could be more than one.

possible values are:
speed,angle, dist, env,rpm, damage, diving, flatter,brake, gear, start, load, motorld, propld, door, relspeed, mostage, bombspeed, bombtime
massa or/and mod

the control property occurs always together with a boundary control section like this one below
the structure is always like that:
if you have this : controls _nameOfControl
you should have this too: [sample.nameofwavfile._nameOfcontrol]


[sample.Allison_2700.wav.rpm] <-- start of boundary control rpm

minlo 1400 <-- (lower bound) if rpm of the engine is below minlo the sound is not audible,
if the rpm are above minlo the volume is increased until minhi is reached

minhi 2400 <-- if rpm is equal or above minhi, volume stays at the current level, only the pitch of the sound is increased

maxlo 6000 <-- if rpm is above maxlo volume is decreased downto maxhi, only the pitch of the sound is increased
maxhi 6500 <-- (upper bound) if rpm is above maxhi this sound is inaudible.

value 6.0 <-- the value property is a linear multiplier to volumelevel, if below 1 original level is decreased
if above 1 original level is increased
value range : 0 .. 10 ?

pmin -1.0 <-- mostly set to -1.0 this is the start pitch if throttle is on idle position

pmax 2700 <-- this is the parameter the original sound is recorded at. In this case the sound is (should be) from an engine running with 2700 rpm.
If your engine in the game is at a higher or lower state than pmax, the pitch of the sound will be increased/decreased by taking pmax as a base.

imagine you have sound of an engine running at 2700 rpm, with pmax value originally set to 2700.
if you set pmax below 2700 the pitch of the sound gets higher, if you set it above the pitch gets lower.

Often there multiple boundary section according to the number of .wav files.

If you have a look at the example file above, you can see that the max values of a boundary section often overlapps the min values of the next.
by this you create a "full range" sound of the engine. (you hear a mixture of the wav files according to the controls)
if they won´t overlapp each other you will get an sound with volume "holes".
an other example for control settings:

[sample.dmg_86_0m.wav] <-- section start for property settings of dmg_86_0m.wav
infinite 1
controls rpm damage <-- this sound is controlled by rpm and a damage factor
[sample.dmg_86_0m.wav.rpm] <-- start of boundary control of rpm
minlo 500
minhi 2000
maxlo 4000
maxhi 6000
value 2.0
pmin 0.4
pmax 2.2

the resulting effect is: mainly pitch of damage sound is increased according to rpm of engine.

[sample.dmg_86_0m.wav.damage] <-- start of boundary control of damage
minlo 0.1
minhi 0.6
maxlo 1.0
maxhi 2.0
value 2.0
pmin 1.0
pmax 1.0

the resulting effect is: mainly volume of damage sound is increased according to damage of the engine.

you noticed the difference in the range of the values ?

The range of the properties values minlo, minhi, maxlo and maxhi depend on the range of the values used in programm code.
So if you really want to set them you have to know, what range il2 sets for this values.
Or you have a look to an existing .prs file, that´s the easier way.

[emit] <-- sound emitter section start ( pop and bangs made by engine cylinders on low running engine )
start <-- name of emit definiton section
[emit.start] <-- start of emit definiton section
speed 5
srand 0.15
<-- don´t know exactly maybe values to randomize speed, pitch
vrand 0.1
prand 0.06

spl 85 <-- volume level of emitted sound
num 3 <-- number of files used by the emit section, see below
sample0 an2_cyl_00.wav <- files containing sound for emitter section
sample1 an2_cyl_01.wav
sample2 an2_cyl_02.wav
Last edited by Rookie67 on Tue Jun 29, 2010 9:08 pm, edited 3 times in total.
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Sun Nov 15, 2009 2:07 pm

unused feature of [spl] section

It seems to me, that there is an additional settings feature for the [spl] section in the preset files.

May be this features gets lost because it´s not used any more or i haven´t found a preset file that uses this feature this way.

normal usage of this section is (as mentioned in earlier post):
[spl] <-- section start for level property
107 <-- general basic volume level for all sounds in the preset file.

second possible usage:

[spl]
107 0 * 0 2
80 0 * 8


explanation:

[spl] <-- again section start for level property
107 0 * 0 2 <-- this is how it works:
  • first number is the volume level
  • second number i don´t know yet, (it is also possible to let this away)
  • all values following after "*" are setting the number of the environment this level is valid for.
    possible value for the environment are :
    • 0 = outside the plane
    • 2 = open cockpit or open gunner position
    • 8 = inside the plane (closed cockpit or closed gunner position )
80 0 * 8
example:
[spl]
107 0 * 0 2 <-- so this means, all sounds related to this environent will have this basic volume level of 107
80 0 * 8 <-- all sounds related to the inside enviroment will set to the level of 80
If this is the level settings of an motor preset, the engine sound of your own engine will be less loud, if your are in the cockpit.
If you are outside it will be louder.
If there are other planes with the same motor(-preset) they will occur louder in both environment (cockpit and outside).

Rookie
Last edited by Rookie67 on Tue Jun 29, 2010 9:21 pm, edited 1 time in total.
<<

SV_MadisonV44

Posts: 14

Joined: Tue Nov 06, 2007 7:33 pm

Post Sun Nov 15, 2009 3:50 pm

Thanks Rookie
This is a mine of gold information for those who want to customize their sound environment.
Waiting for your next update :wink:
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Mon Nov 16, 2009 4:29 pm

Thank you mates

Doing this is a pleasure to me, allthough sometimes:
  • my engine gets overheaten - (Head)
  • i have runing out of fuel (coffee) and ammunition (cigarettes)
:)
Rookie
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Mon Nov 16, 2009 4:35 pm

next Sound preset example - the usr property

******************* example file aircraft.cockpit.prs

[common]
mode relobj pos
pmax 1 <-- of course this determines if something has a maximum or not, but don´t know exactly, possible values are:
  • 0 - true (disabled)
  • 1 - false (enabled)
[spl]
122

[samples]
key_03.wav <-- sound if you switch a key
gear_93.wav <-- sound of gear up/done
buzzer_109_0.wav <-- sound of warning buzzer(occurs for example in Me-109 cockpit if you lower the flaps at a critical speed (beep, beep ...))

[sample.key_03.wav]
env 2 8
usr 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <--- the usr property is used by il2 to assign a sound to an specific game event.
The value is set by the program.(it can be one or more)

I would recommend: don´t change it, if you don´t know wich value represents the assigned event.

for example, original:

[sample.gear_93.wav]
infinite 1
env 2 8
usr 16

[sample.buzzer_109_0.wav]
infinite 1
env 2 8
usr 17

If you exchange the values of usr in the two sections above like this:

[sample.gear_93.wav]
infinite 1
env 2 8
usr 17

[sample.buzzer_109_0.wav]
infinite 1
env 2 8
usr 16

the result is, you will here the gear going up/down sound instead of the buzzer.(in the case you lowered the flaps at a critical speed).

[sample.buzzer_109_0.wav]
infinite 1
env 2 8 <-- beside, this is a another good example of the usage of the env property
You only will hear this sound, if you are a member of the crew, outside the plane it is inaudible.

Rookie
Last edited by Rookie67 on Wed Jun 30, 2010 6:50 pm, edited 2 times in total.
<<

Rookie67

Posts: 54

Joined: Mon Sep 01, 2008 6:30 pm

Post Tue Nov 17, 2009 2:29 pm

Sound preset - the property mode

Within the section [common] you often find the property mode, example:

mode relobj pos

First parameter of the property mode determines how the settings of this preset file should be "interpreted" by the program.

possible values for the first parameter:

  • no3d - no 3 dimensional sound/environment
    (voices of crew members, the menu interface of the game it self don´t have 3rd dimension sound, for example)
  • normal always occur with second parameter(see below)
  • relobj - this always occurs with second parameter set to pos (positon)
    and means relative position of/to the object in the surrounding environment.
  • relist - as relobj second parameter is always pos meaning:
    relative pos of/to the listener? i´m not sure
if the first parameter of mode is set to normal, possible second parameters are:

  • pos - position of sound source
  • vel - velocity of sound source
  • or - orientation of sound source is frontal (a buzzer is frontal sound, you can´t locate him)
  • all - selects all values above (position and velocity and orientation)
    orientation is now set to frontal+top - i think this means it stays on top above the other sounds, like a top window does.

please note that i didn´t find a .prs file using the values "vel" and "or".

There is a special case for the value "seq":
if seq occurs in the same line as mode the sounds of this preset file are handled by a sequenzer or as a sequenzed file, voices.prs for example use this, the result is: voices are not played in a mixture, they are played one after one.

Rookie
Last edited by Rookie67 on Wed Jun 30, 2010 7:07 pm, edited 1 time in total.
Next

Return to MOD Creation Tutorials and Assistance

Who is online

Users browsing this forum: No registered users and 4 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.