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 | ||
|
N is a value between 1 and 4, representing an engine, eg:
etc... |
Yes | ||
|
<EngineSoundPresets> |
Yes | ||
|
<EngineSoundPresets> |
Yes | ||
|
<EngineSoundPresets> |
Yes | ||
|
<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:
etc... |
To be defined in sound.xml | Yes | |
custom_engine_sound_ N |
To be defined in sound.xml | No | ||
custom_instrument_sound_ N |
To be defined in sound.xml | 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 | No | ||
custom_warning_cockpit_sound_ N |
To be defined in sound.xml | No | ||
custom_warning_headset_sound_ N |
To be defined in sound.xml | 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:
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:
|
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 |
|
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:
|
|
link |
The xml structure does not justify the porting of this feature. |