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 require 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_combustioneng 4_propeng 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_ 02custom_rain_sound_ 07custom_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 2024 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 2024.

 

Attribute

Description

Type

Required

WwiseData

This attribute defines if the sound is a *.wav file in the sound folder or audio included in a Wwise Soundbank. If “True” then the sound is using the WwiseData approach and is included in the SimObject *.PC.PCK file package (see <Sound> for details). If “False” then the sound is using the WaveData approach and is a *.wav file located in the SimObject sound folder.

Bool

Yes

WwiseEvent

This is a mandatory attribute and defines the name of the Wwise event to play in a sound element (the exception being sounds in the <EngineSoundPresets> element). In the WaveData approach, this attribute defines the Wwise event as a slot for the *.wav sound to be routed. These slots are limited to the existing ones. Please have a look to the Wave Data Sounds Properties page to get an overview of all the available Wwise event slots in a WaveData approach.

For information on how events should be named, please see the following section of the documentation:

String

Yes

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

OutsideConeAngleOutsideConeVolume

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

PositionX

These attributes are used to position the origin of the audio in 3D space relative to either:

  1. A node of the aircraft model when the NodeName attribute is included in the sound definition.
  2. The aircraft Datum Reference Point if no NodeName attribute is included.

Positioning the sound by inputing values here is tricky, so we recommend that you use the Sounds tab of the SimObject Editor which lets you use The Edition Gizmo to place the sound origin within the simulation itself.

Note that if any one of these attributes is ommited, the value will be considered as 0.

Float

No

PositionYPositionZMuteOnVPChange

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:

 

AttributeDescriptionTypeRequired
SimVarThe required SimVar.StringYes
UnitsThe units of the SimVar.StringNo
IndexThe SimVar index value.IntegerNo

 

<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:

 

AttributeDescriptionTypeRequired
SimVarThe required SimVar.StringYes
UnitsThe units of the SimVar.StringNo
IndexThe SimVar index value.IntegerNo

 

<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:

 

AttributeDescriptionTypeRequired
SimValueThe value for the referenced SimVar.FloatYes
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 percent, clamped between 0.0 and 100.0. The units are linear, with a value of 50 meaning -3dB attenuation, and 0 meaning silence.
FloatYes

 

 

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 2024

SOUND.XML

ATTRIBUTE

XML Description
filenameFileNameSpecifies 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”

flagsFlags are no longer supported in Microsoft Flight Simulator 2024. You can use SimVars Sounds element to trigger sounds according to the conditions you want.
viewpointViewPointDetermines 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”

vparamsVolumeCurve

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.

rparamsPitchCurveDefines 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_volumeThis parameter is no longer supported in sound.xml. But you can use VolumeCurve & PitchCurve on the sound you want.
maximum_volumeThis parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
minimum_rateThis parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
maximum_rateThis parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
minimum_speedThis parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
maximum_speedThis parameter is no longer supported in sound.xml. You can use VolumeCurve & PitchCurve on the sound you want.
initial_volumeSpecifies 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.).
InsideConeAngleInsideConeAngleInside sound cone angle in degrees.

In sound.xml InsideConeAngle= “90”

OutsideConeAngleOutsideConeAngleOutside sound cone angle in degrees.

In sound.xml OutsideConeAngle= “360”

ConePitchConePitchThe pitch, in degrees, of the sound cone.

In sound.xml ConePitch= “50”

ConeHeadingConeHeadingDirection of sound cone in degrees. Zero is facing forward.

In sound.xml ConeHeading= “180”

OutsideConeVolumeOutsideConeVolumeMaximum 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_distanceFullScaleDistanceThe distance, in meters, away from the sound source, when the sound starts to attenuate.

In sound.xml FullScaleDistance= “150”

panningPanning

Determines where the sound is placed in the stereo field:

0 : center

-10000 : full left

10000 : full right

In sound.xml Panning= “0”

linkThe xml structure does not justify the porting of this feature.