WAVE DATA SOUNDS PROPERTIES

The Wave Data approach to sound using sound.xml files benefits from all the sound categories and common sound element attributes. This approach does not require the Wwise editor, and is therefore limited to the common elements and attributes of the sound.xml and you can't use WwiseData elements like <WwiseRtpc /> that requires the use of the Wwise editor. Also note that when using this approach, <Sound> elements must have the WwiseData attribute set to "False".

IMPORTANT! You should ensure that your Wwise Project files are up to date based on the most recent version supplied with the SDK. See here: Using Wwise

 

The sound formats available to use with Wave Data are PCM *.wav at 16 bits per sample and Microsoft ADPCM *.wav compressed format.

 

 

Available WwiseEvents

In the wave data approach you are limited to the existing Wwise Events, you can't create new ones. Here is the list of all the available WwiseEvents that you can use as slots to play your sounds.

 

WwiseEvent Names Continuous attribute Sound Category usage Available For AI Simobjects
Combustion <EngineSoundPresets> Yes
Starter <EngineSoundPresets> Yes
CombustionStart <EngineSoundPresets> Yes
Shutdown <EngineSoundPresets> Yes
JetWhine <EngineSoundPresets> Yes
NonCombustion <EngineSoundPresets> Yes
Propeller <EngineSoundPresets> Yes
Rotor <EngineSoundPresets> Yes

eng N_combustion

N is a value between 1 and 4, representing an engine, eg:

eng 1_combustion

eng 4_prop

eng 2_shutdown

etc...

<EngineSoundStates>

Yes

eng N_starter

<EngineSoundPresets> Yes

eng N_jet_whine

<EngineSoundPresets> Yes

eng N_non_combustion

<EngineSoundPresets> Yes

eng N_prop

<EngineSoundPresets> Yes
eng N_rotor <EngineSoundPresets> Yes
eng N_combustion_start <EngineSoundTransitions> Yes
eng N_shutdown <EngineSoundTransitions> Yes
AP_DISENGAGE_SOUND <MiscellaneousSounds> Yes
AP_PREFLIGHT_CHECK_OVER <MiscellaneousSounds> Yes
OVERSPEED_WARNING_SOUND <MiscellaneousSounds> Yes
STALL_WARNING <MiscellaneousSounds> Yes
FLAPS <MiscellaneousSounds> Yes
GEAR_UP <MiscellaneousSounds> Yes
GEAR_DOWN <MiscellaneousSounds> Yes
EXIT_OPEN <MiscellaneousSounds> Yes
EXIT_CLOSED <MiscellaneousSounds> Yes
GYRO_SOUND <MiscellaneousSounds> Yes
FUEL_PUMP <MiscellaneousSounds> Yes
GROUND_ROLL <GroundSounds> Yes
CENTER_TOUCHDOWN <GroundSounds> Yes
AUX_TOUCHDOWN <GroundSounds> Yes
LEFT_TOUCHDOWN <GroundSounds> Yes
RIGHT_TOUCHDOWN <GroundSounds> Yes
FUSELAGE_SCRAPE <GroundSounds> Yes
LEFT_WING_SCRAPE <GroundSounds> Yes
RIGHT_WING_SCRAPE <GroundSounds> Yes
AUX1_SCRAPE <GroundSounds> Yes
AUX2_SCRAPE <GroundSounds> Yes
XTAIL_SCRAPE <GroundSounds> Yes
CRASH_SOUND <GroundSounds> Yes
SPLASH_SOUND <GroundSounds> Yes
WIND_SOUND <GroundSounds> Yes
custom_sound_ N

N is a value between 01 and 12, eg:

custom_engine_sound_ 02

custom_rain_sound_ 07

custom_warning_cockpit_sound_ 11

etc...

To be defined in sound.xml

<SimVarSounds>

<EventIdSounds>

<AnimationSounds>

<AvionicSounds>

Yes
custom_engine_sound_ N To be defined in sound.xml

<EngineSoundStates>

<EngineSoundTransitions>

No
custom_instrument_sound_ N To be defined in sound.xml

<SimVarSounds>

<EventIdSounds>

<AnimationSounds>

No
custom_ground_sound_ N To be defined in sound.xml <SimVarSounds> No
custom_misc_sound_ N To be defined in sound.xml <SimVarSounds> No
custom_rain_sound_ N To be defined in sound.xml <SimVarSounds> No
custom_rattle_sound_ N To be defined in sound.xml

<SimVarSounds>

<AlwaysPlaySounds>

No
custom_warning_cockpit_sound_ N To be defined in sound.xml

<SimVarSounds>

<AvionicSounds>

No
custom_warning_headset_sound_ N To be defined in sound.xml

<SimVarSounds>

<AvionicSounds>

No

 

 

WwiseData="False" Specific Sound Attributes

When using the <Sound> element in the sound.xml file, setting the WwiseData attribute to "False" tells Microsoft Flight Simulator that the available attributes will be different to those listed for non-legacy sounds. The table below lists the attributes that will be shown for the <Sound> element in such cases:

NOTE: These attributes should not be used when creating new assets and are only shown as a reference for when you are porting legacy assets into Microsoft Flight Simulator.

 

Attribute Description Type Required
FileName This attribute defines the name of the *.wav file to play. The *.wav extension should not be specified. If the FileName attribute has comma separated list of filenames (e.g: FileName="encrash1,encrash2"), then the simulator code will randomly choose one of the sounds to play. String Yes
FullScaleDistance This attribue sets the distance away from the sound source at which the sound starts to attenuate (in meters). If not 0, then distance attenuation will be active using the specified FullScaleDistance factor. The greater the value the further the sound has to be to be attenuated. By default it is 0 meaning no attenuation will be calculated. Float No
InsideConeAngle

These attributes define three regions of the audio cone in 3D:

  • the region inside the InsideConeAngle will not be attenuated
  • the region between the angles will attenuate gradually until it reaches OutsideConeAngle
  • the region outside the OutsideConeAngle will default to the OutsideConeVolume

These values are in degrees (0° - 360°). If not set, both angles are 360, disabling all possible attenuations depending on the angles.

Float No
OutsideConeAngle
OutsideConeVolume This attribute defines how much a sound is attenuated outside the OutsideConeAngle. It can go from 10000 (full volume) to 0 (no sound), by default it is 0. The curve attenuation is logarithmic. Float No
Panning This attribute moves the sound from the left to the right "point of view" of the system as if it was 3D. Defaults as 0 and is ranged between -10000 and 10000. Float No
MuteOnVPChange This attribute allows for continuous sounds to be muted ("True") instead of stopped ("False") when the specified viewpoint in which they should play is no longer presented by the simulation. By default, it is "False" for all sounds except for the Gyro and Fuel Pump sounds. Bool No

 

Legacy <Sound> elements may also have the following sub-elements present: <PitchCurve>, <VolumeCurve>.

 

<PitchCurve>

This element defines a pitch curve for a specific wave sound and is mainly inherited from rparams values in the legacy config file. This element can have one or more <Point /> sub-elements and has the following attributes:

 

Attribute Description Type Required
SimVar The required SimVar. String Yes
Units The units of the SimVar. String No
Index The SimVar index value. Integer No

 

<VolumeCurve>

This element defines a volume curve for a specific wave sound and is mainly inherited from the vparams values in the legacy config file. This element can have one or more <Point /> sub-elements and has the following attributes:

 

Attribute Description Type Required
SimVar The required SimVar. String Yes
Units The units of the SimVar. String No
Index The SimVar index value. Integer No

 

<Point />

This self-closing element is a sub-element for <PitchCurve> and <VolumeCurve>. It defines a single point along the curve and has the following attributes:

 

Attribute Description Type Required
SimValue The value for the referenced SimVar. Float Yes
Output

The output ratio or percent where:

  • for the <PitchCurve> the output a frequency ratio. A value of 1.0 specifies that the sound file is played at unity pitch. A value of 2.0 specifies that the file is played an octave higher and twice as fast. A value of 0.5 specifies that the file is played an octave lower and twice as slower.
  • for the <volumeCurve> the output is in p ercent , clamped between 0.0 and 100.0 . The units are linear, with a value of 50 meaning -3dB attenuation, and 0 meaning silence.
Float Yes

 

 

Legacy WwiseData="False" Pitch/Volume Curve Example

Below you can see an example of the output when importing a legacy config file using vparams and rparms to generate volume and pitch curves:

<Sound WwiseEvent="volume_pitch_test" WwiseData="false" FileName="volume_pitch_test">
    <PitchCurve SimVar="SIMVAR_TEST_PITCH" Units="PERCENT" Index="1">
        <Point SimValue="0.000" Output="0.5" />
        <Point SimValue="100.000" Output="1.551" />
    </PitchCurve>
    <VolumeCurve SimVar="SIMVAR_TEST_VOLUME" Units="PERCENT" Index="1">
        <Point SimValue="0.005" Output="0.0" />
        <Point SimValue="0.127" Output="3.2" />
        <Point SimValue="0.197" Output="16.8" />
        <Point SimValue="0.238" Output="76.8" />
        <Point SimValue="0.336" Output="78.4" />
        <Point SimValue="0.405" Output="18.4" />
        <Point SimValue="0.590" Output="0.0" />
        <Point SimValue="0.630" Output="0.0" />
      </VolumeCurve>
  </Sound>

 

 

Legacy Mapping Table

If you are used to the sound.cfg system, this table will help you to understand the sound.xml attributes from the legacy sound system standpoint.

 

LEGACY
SOUND.CFG
PROPERTY
Microsoft Flight Simulator
SOUND.CFG
PROPERTY
Microsoft Flight Simulator
SOUND.XML
ATTRIBUTE
XML Description
filename FileName Specifies the name of the .wav file to play. The .wav extension should not be specified. If FileName attribute have comma separated filenames (e.g. FileName="encrash1,encrash2"),the simulator code will randomly choose to play one of the listed .wav files.

In sound.xml: FileName= "Mysound01,Mysound02,Mysound03"
flags Flags are no longer supported in Microsoft Flight Simulator. You can use SimVars Sounds element to trigger sounds according to the conditions you want.
viewpoint ViewPoint Determines whether the sound plays in the cockpit or outside or both. Without these parameters the sound will play in both viewpoints.

In sound.xml : ViewPoint= "Inside"
vparams VolumeCurve

Defines the sounds amplitude envelope. The units for volume are the same as in FSX. They are linear, with a value of 50 meaning -3dB attenuation, and 0 meaning silence. The main difference with the legacy SOUND.CFG system is that you can connect the volume curve to the SimVars of your choice. See the above Legacy WwiseData="False" Pitch/Volume Curve Example.

rparams PitchCurve Defines the sounds pitch envelope. Represents the sound's relative pitch (and, invariably, the playback speed) as a function of a generic value. The format and behavior of rparams is similar to vparams, except that the second value of each point represents a pitch scaler. A value of 1.0 specifies that the sound file is played at unity pitch. A value of 2.0 specifies that the file is played an octave higher and twice as fast. The main difference with the legacy SOUND.CFG system is that you can connect the pitch curve to the SimVars of your choice. See the above Legacy WwiseData="False" Pitch/Volume Curve Example.
minimum_volume This parameter is no longer supported in sound.xml. But you can use VolumeCurve & PitchCurve on the sound you want.
maximum_volume This parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
minimum_rate This parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
maximum_rate This parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
minimum_speed This parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
maximum_speed This parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
initial_volume Specifies the volume at which the sound starts. (Volume is specified in 1/100dB units, with a value of 10,000 being the maximum possible volume.).
InsideConeAngle InsideConeAngle Inside sound cone angle in degrees.

In sound.xml InsideConeAngle= "90"
OutsideConeAngle OutsideConeAngle Outside sound cone angle in degrees.

In sound.xml OutsideConeAngle= "360"
ConePitch ConePitch The pitch, in degrees, of the sound cone.

In sound.xml ConePitch= "50"
ConeHeading ConeHeading Direction of sound cone in degrees. Zero is facing forward.

In sound.xml ConeHeading= "180"
OutsideConeVolume OutsideConeVolume Maximum volume outside of sound cone. Volume is specified in 1/100dB units, with a value of 10000 being the maximum possible volume.

In sound.xml OutsideConeVolume= "6000"
full_scale_distance FullScaleDistance The distance, in meters, away from the sound source, when the sound starts to attenuate.

In sound.xml FullScaleDistance= "150"
panning Panning

Determines where the sound is placed in the stereo field:


0 : center
-10000 : full left
10000 : full right

In sound.xml Panning= "0"

link The xml structure does not justify the porting of this feature.