Wave Data Sound 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 require the use of the Wwise editor. Also note that when using this approach, <Sound> elements must have the WwiseData attribute set to "False".
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.
N is a value between 1 and 16, representing an engine, eg:
eng_1_combustioneng_4_propeng_2_shutdownetc…
N is a value between 01 and 12, eg:
custom_engine_sound_ 02custom_rain_sound_ 07custom_warning_cockpit_sound_ 11etc…
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:
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 at 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:Event Naming Convention | 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 attribute 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 |
InsideConeAngleOutsideConeAngle | These attributes define three regions of the audio cone in 3D:the region inside the InsideConeAngle will not be attenuatedthe region between the angles will attenuate gradually until it reaches OutsideConeAnglethe region outside the OutsideConeAngle will default to the OutsideConeVolumeThese values are in degrees (0° - 360°). If not set, both angles are 360, disabling all possible attenuations depending on the angles. | Float | No |
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 |
PositionXPositionYPositionZ | These attributes are used to position the origin of the audio in 3D space relative to either:A node of the aircraft model when the NodeName attribute is included in the sound definition.The aircraft Datum Reference Point if no NodeName attribute is included.Positioning the sound by inputting 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 omitted, the value will be considered as 0. | 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 is 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 slow.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. | 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 rparams 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 |
|---|---|---|---|
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 2024. 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 left10000 : full rightIn sound.xml Panning= "0" | |
link | The xml structure does not justify the porting of this feature. |
