Soundscapes
A soundscape is ambient sound that should be heard in a particular area of a Source map. A single soundscape can play helicopter sounds above the player and gunfire sounds around him as well as modify the echo effects applied to any sounds he hears.

Soundscapes are used extensively in Valve's games and contribute strongly to a map's ambience. Using soundscapes in a map is as simple as placing an env_soundscape entity in every area where the ambient sounds a player hears should change.

However, using the env_soundscape entity effectively can be a bit more complex. There are literally hundreds of unique soundscapes spread among Valve's games, and each one plays different sounds; you have to choose one for the env_soundscape entity to play. Also, some soundscapes require up to eight extra positioning entities to determine the general direction from which the sounds should come.

What follows are annotated lists of all soundscapes registered in EditLife's Mod Center. "With descriptions" means that the unique properties of the soundscapes, such as what sounds they play and what positioning entities they require, are included as well. Below that is an expanded soundscape documentation.

IF YOU INTEND TO USE THESE LISTS FOR CONSISTENT REFERENCE, it is recommended that you download them (File >> Save As) for future viewing. This saves server bandwidth and also allows your computer to read the files faster. Also remember that specific soundscapes or data can be found with the Find hotkey, Ctrl-F.

List of HL2 Soundscapes
List of HL2 Soundscapes, with descriptions (LONG)

Note that unlike materials, sounds, and models, HL2 soundscapes are not automatically inherited by other mods. HL2 soundscapes are available only in HL2, though they can be embedded into maps for other mods.

List of CS:S soundscapes
List of CS:S soundscapes, with descriptions
List of HL2DM soundscapes
List of HL2DM soundscapes, with descriptions
List of DOD:S soundscapes
List of DOD:S soundscapes, with descriptions

List of Dystopia (Demo) Soundscapes
List of Dystopia (Demo) soundscapes, with descriptions

To use a soundscape in one of your maps, place an env_soundscape entity in the area where you want sounds to be played. Declare the name of the soundscape you want to use as its Soundscape property. If the soundscape uses any positions, find entities in the surrounding area or place a few info_targets to use as sound sources.

A certain env_soundscape entity becomes active whenever it has an unobstructed line of sight to the player and is closer to the player than any other env_soundscape having an unobstructed line of sight to him. Only one soundscape can be active at a time (excepting cases where one soundscape is embedded in another, as outlined below).
Soundscape Documentation
Soundscapes are written in plain text, in files under the active mod's scripts directory. Dystopia soundscapes appear in ./Dystopia/scripts/, CS:S soundscapes appear in ./cstrike/scripts/, etc. The files to load as soundscapes are defined in the text file soundscapes_manifest.txt in the same directory.

A sample entry in a soundscape file might look like this:
"sample.foo"
{
   "dsp" "1"
   "dsp_volume" "0.75"
   "playlooping"
   {
      "volume" "0.5"
      "rndwave"
      {
         "wave" "rae/rand1.wav"
         "wave" "rae/rand2.wav"
      }
   }
}

In this example, the name of our soundscape is sample.foo. The lines for dsp and dsp_volume define the values of those properties as 1 and 0.75 respectively. playlooping does not accept just one value, however; it requires another opening bracket so that we can define all of its properties. Likewise, rndwave requires an opening bracket so that we can define several WAV files within it.

EditLife's soundscape lists have modified the soundscapes text files to be more readable. The entry above would be formatted like this:
Soundscape Name: sample.foo
DSP Preset1
DSP Preset Volume (0.0-1.0)0.75
Play Sound and Loop
Volume (0.0-1.0)0.5
Play Random from List
Play Filerae/rand1.wav
Play Filerae/rand2.wav


Clicking on any property or field name brings up the appropriate documentation. There are 17 unique properties that can appear in a soundscape definition.

Six of them always appear in the root soundscape definition, that is, inside the very first bracket. They are:

DSP Preset ("dsp") - When a soundscape is active, its DSP preset is applied to every sound the player hears. DSP can control such effects as reverberations, muffling, and attenuation. The recommended DSP preset to use is always 1, because this setting generates DSP settings automatically based on the player's environment.

DSP Preset Volume (0.0-1.0) ("dsp_volume") - This property overrides the volume of DSP effects. It accepts values between 0 (silent) and 1 (full volume).

Sound Mixer ("SOUNDMIXER") - A sound mixer is used to give more precise volume control by letting the coder specify new volumes for certain classes of sounds. The value of this property must be the name of a sound mixer as defined in ./scripts/soundmixers.txt.

Play Sound and Loop ("playlooping") - The playlooping field requires brackets {} to define its subproperties. As long as the soundscape is active, this field will attempt to play and loop whatever WAVs are defined within it. Any WAV used will not loop properly without cue points. A soundscape can have as many playlooping fields as you want.
Subproperties: wave, volume, pitch, attenuation, position

Play Sound with Random Properties ("playrandom") - This field requires brackets {} to define its subproperties. For its subproperties (except rndwave and position), instead of the usual "prop1" "value1" notation, this field supports two values: "prop1" "value1, value2". A value to use for the property is chosen randomly between value1 and value2. Also, the position subproperty supports the value "random", which selects a random position. The sound it plays is not looped; instead, a sound is played at intervals defined by the time subproperty. A soundscape can have as many playrandom fields as you want.
Subproperties: rndwave, time, volume, pitch, attenuation, position

Play Soundscape ("playsoundscape") - This field requires brackets {} to define its subproperties. The playsoundscape field embeds a second soundscape into the active one and, optionally, can modify its volume and sound position settings. A soundscape can have as many playsoundscape fields as you want.
Subproperties: name, volume, position, positionoverride, ambientpositionoverride

The other eleven are subproperties of playlooping, playrandom, and/or playsoundscape. They should only appear inside the brackets of the field to which you want to apply them.

Play File ("wave") - This subproperty defines a WAV file for the playlooping field. Its value should be the path to a WAV file from the sound directory, like ambient/water/corridor_water.wav.

Soundscape Name ("name") - This subproperty defines a soundscape for the playsoundscape field. Its value should be the name of a valid soundscape.

Play Random from List ("rndwave") - This subfield defines a list of WAVs for the playrandom property. It requires brackets {}, and at least one wave subproperty within its brackets. A WAV is chosen at random from this list every time playrandom produces a sound.
Subproperties: wave

Time Before Starting ("time") - This subproperty defines a time, in seconds, for the playrandom field to wait before playing its sound again. Its value, as described in the playrandom description above, should be either one real number or two real numbers separated by a comma.

Volume (0.0-1.0) ("volume") - The volume subproperty is used to define the volume of playlooping, playrandom, and playsoundscape. It accepts values between 0 (silent) and 1 (full volume).

Decibel Sound Level ("soundlevel") - This subproperty is used to set a custom volume/attenuation for the playlooping and playrandom fields. Its value should be the string SNDLVL_###dB, where ### is an integer representing the decibel level. Other possible values are SNDLVL_NONE and SNDLVL_NORM.

Pitch (0-255) ("pitch") - Pitch is a measure of how high or low a sound is. The pitch subproperty modifies the pitch of sounds produced by playlooping and playrandom. Source accepts pitches between 0 and 255; the default is 100.

Position (0-7) ("position") - This subproperty is used by playlooping and playrandom fields to define the source of the sound. Sounds without a position are played at equal volume from all directions. The value of this subproperty should be an integer between 0 and 7. When the env_soundscape entity is made, the mapper can choose up to eight different positioning entities: position-0 sounds come from the first entity, position-1 sounds come from the second entity, position-2 sounds come from the third entity, etc.
This subproperty is also used by the playsoundscape field. Any positions defined in the second soundscape will be offset by this subproperty's value.

Position (0-7) Absolute ("positionoverride") - This subproperty is the same as position, above, except that it is only used by playsoundscape. Instead of offsetting the second soundscape's positions by this subproperty's value, positionoverride will forcibly set all of the second soundscape's positions to its value.

Ambient Reposition (0-7) ("ambientpositionoverride") - This subproperty is the same as positionoverride, above, except that it forces all of the second soundscape's ambient sounds to use its value as a position. Normally, ambient sounds do not have a position; they are played at equal volume from all directions.

Attenuation (requires Position) ("attenuation") - This subproperty, whenever a position is set within its parent field, applies an extra attenuation factor to sounds from that position. Higher attenuation makes a softer sound, and attenuation is defined as ( 20 / ( SNDLVL - 50 ) ). For SNDLVLs less than 50, attenuation defaults to 4.


Click here for an example soundscape
All original content ©2006 EditLife.net. All Rights reserved. All files property of their rightful owners.
Get Firefox! Get Thunderbird! Get Notepad++!