Modifying Sound Environments
From Mod Wiki
Audio Environments are areas within a game level that make use of Environmental Audio Extensions, which create reverb, occlusion, echo, and other various effects to create the impression of differing environments. Commonly referred to by Creative's environmental instruction set (EAX); STALKER: Shadow of Chernobyl and STALKER: Clear Sky both support the use of EAX 2.0 - either directly through enabled EAX, or indirectly through the OpenAL API. To make use of these audio extensions, you must have a form of audio hardware that supports either EAX (Creative sound cards and Auzentech X-Fi sound cards), or OpenAL (just about every other form of audio hardware on the marketl; ASUS, HT Omega, Auzentech, Creative, Razer, Turtle Beach, etc.).
These instruction sets come with a variety of presets for different environments, but one can still edit the environmental settings used in STALKER.
- You'll need the STALKER: Shadow of Chernobyl MP SDK
Once you have the SDK installed, you will need to open the Shader Editor, located <x:\\...\X-Ray SDK\level_editor\shadereditor.bat>.
With the Shader Editor application open, in the right-hand pane, under the section entitled "tools," click on the right arrow until the Sound Env tab is visible. Select that tab, and the right-hand panes will change to show the Sound Environment tables.
On the right-hand side, from the top, you will see a section titled "Preview." This section displays a path and sound file, and controls to play or stop playback of the sound. *note: although any sound can be selected, I have yet to figure out how to actuall have the editor playback a different audio file aside from the default. I believe this sound is meant to hear changes to the environment tables as they're being edited, but not certain*
Under "Preview," is a section labeled "Tools." Here, one can save the sound environment tables, reload the previous table settings, create a new table, remove an existing table, or clone (duplicate) an existing table. Aside from saving, the other file capabilities are rather pointless - unless you're creating a new game map.
The next section down is labeled "Items." This sections lists all the different audio environment tables. Selecting an environment table in this section will display it's configuration in the next section down.
The last section at the bottom is labeled "Item Properties." This section displays the configuration settings for whatever environment table is selected within the "Items" section.
In the section entitled "Item Properties," you will see a list of various settings that control the audio effects that will be applied to various audio files when the player is within a preset audio environment.
Name - this is the name of the current audio environment that the game will call upon.
Set - these buttons will revert all configurations back to original by hitting the Revert button, or the the same settings of the table "Identity" by hitting the Identity button.
Preset - this setting allows one to choose the environmental audio table preset.
Size - this setting sets the perceived size of the audio environment. The larger the number, the larger and wider the environmental space will "sound."
Diffusion - controls the master density of audio reflections and reverbrations, i.e. how thick the reverb and echo effects will be.
Room - this controls the initial volume level and amount of reverb and echo effects; "0" equates to full effects, while "-10000" equates to no effects.
RoomHF - sets the high frequency attenuation via a low-pass filter for Room setting and audio reflection; "0" equates to no low-pass filter, while "-10000" equates to no sound refelected.
RoomRolloffFactor - this setting attenuates reflected sound based on how far from the audio source the player is; the higher the value, the more a sound will decay the greater the player's distance from the source of the audio.
AirAbsorptionHF - this setting attenuates high frequencies based on the distance between the player and the audio source, but simulates a denser environment. The higher the value, the less absorbent the environement is (e.g. a low value would mimic thick fog, a high value would mimic a dry desert or tundra).
Reflections - this sets the amount of initial echoes dependant upon the Room setting. "1000" equates to maximum initial reflections, while "-10000" equates to no initial reflections.
ReflectionsDelay - sets the amount of time (in milliseconds) from the initial perception of the audio source, to the first percieved echo. The higher the value, the longer the amount of time between first hearing a sound, and hearing any echoes of that sound.
Reverb - this setting controls the amount of late reverbrations dependant upon the Room setting. "2000" equates to maxmium late reverbrations, while "-10000" equates to no late reverbrations.
ReverbDelay - this sets the length of time (in milliseconds) from the initial perception of audio reflections, to the first percieved reverbration. The higher the value, the longer the amount of time between the first echo and it's resounding reverbration.
DecayTime - controls the decay time of the audio reverbration; how quickly the reverbration fades away. The smaller the value, the quicker reverbrations fade out, and the smaller the percieved room size is; the higher the value, the longer it takes for reverbrations to fade out.
DecayHFRatio - sets the ratio of high frequency reverbration decay relative to actual reverbration decay time. The higher the value, the brighter the high frequency reverbration decay; the lower the value, the more dull the high frequency reverbration.
Saving Your Adjustments
After you have adjusted the audio tables to your liking, under the "Tools" section, select 'File>Save.' This will save the sound environment tables within the <x:\\...\X-Ray SDK\level_editor\gamedata\> folder, as file senvironment.xr. Copy this to your SoC <gamedata> folder for testing. A backup of the original sound environment tables will also be saved, as senvironment.~xr. Should you wish to revert to earlier settings, replace the senviroment.xr with the senvironment.~xr backup.
For further reading in regards to EAX 2.0 settings and descriptions, DirectSound 3D settings and general environmental audio theory and application, visit: DirectSound 3D and EFX 2.0 API Introduction
--Imperialreign 11:03, 14 February 2009 (EET)