G3000 Aural Alerts
Introduction
The G3000 supports playing aural alerts in the cockpit. A select set of common alerts is implemented by the base G3000 package. Other alerts can be added via plugins and/or panel.xml
.
G3000 aural alerts are built using the SDK Aural Alert System.
IDs, Queues, and Priorities
The G3000AuralAlertIds
enum contains IDs for some common alerts. The base G3000 package implements a subset of these alerts.
Most G3000 aural alerts should be played on a single queue. The name of this queue is defined by the base G3000 package as G3000AuralAlertUtils.PRIMARY_QUEUE
(the string literal is 'g3000-aural-primary'
). In addition, the priorities of some common alerts in the primary queue are defined by the mapping saved to G3000AuralAlertUtils.PRIORITIES
.
Male/Female Voice Options
The G3000 can support two voice types - male and female - for all spoken aural alerts. As an airplane developer, you may choose to enable support for both options or just one of the two, depending on which sound assets you plan on including with your airplane. Use the panel.xml
<AuralAlerts>
tag to define which voice type or types are supported. If both voice types are supported, the user will be able to freely switch between the two using the GTC Avionics Settings page.
Plugin code can retrieve which voice type is currently active using the AuralAlertUserSettings
class:
import { AuralAlertUserSettings, AuralAlertVoiceSetting } from '@microsoft/msfs-wtg3000-common';
const voiceType = AuralAlertUserSettings.getManager(this.binder.bus).voice.get();
if (voiceType === AuralAlertVoiceSetting.Male) {
// do something
} else {
// do something else
}
If only one voice type is supported, then the voice type retrieved from AuralAlertUserSettings
is guaranteed to always be the supported type.
Defining Alerts in panel.xml
You can define aural alerts in panel.xml
within the <AuralAlerts>
tag. For more information, please refer to the panel.xml
Aural Alert syntax documentation and the G3000 panel.xml
documentation.
Aural alerts defined in panel.xml
cannot support both voice options. You must use plugins and Typescript to implement alerts that support both voice options.
Base G3000 Package Alerts
The following is a list of aural alerts implemented by the base G3000 package, and the sound.xml
avionics sound event IDs required to play the alerts. All event IDs suffixed with _m
or _f
represent male- and female-voice versions, respectively.
It is the responsibility of airplane developers to ensure that the correct avionics sound event IDs for these alerts are defined in the airplane's sound.xml
. If the sound events are not defined correctly, the aurals will not be heard in the cockpit. If the airplane only supports one of the male or female voice types, only the events specific to that voice type need to be defined.
- Minimums callout
- "minimums":
aural_minimums_m
,aural_minimums_f
- "minimums":
- CAS master warning tone
tone_warning
- CAS master caution tone
tone_caution
- Altitude alert tone (within 1000 feet of selected altitude and 200-foot deviation)
tone_altitude_alert_default
- Traffic advisory aurals
- "traffic":
aural_traffic_m
,aural_traffic_f
- "one o'clock", etc:
aural_[x]_o_clock_m
,aural_[x]_o_clock_f
; replacing[x]
with each of:one
,two
,three
,four
,five
,six
,seven
,eight
,nine
,ten
,eleven
,twelve
- "no bearing":
aural_no_bearing_m
,aural_no_bearing_f
- "high":
aural_high_m
,aural_high_f
- "low":
aural_low_m
,aural_low_f
- "same altitude":
aural_same_altitude_m
,aural_same_altitude_f
- "altitude not available":
aural_altitude_not_available_m
,aural_altitude_not_available_f
- "one mile":
aural_one_mile_m
,aural_one_mile_f
- "two miles", etc:
aural_[x]_miles_m
,aural_[x]_miles_f
; replacing[x]
with each of:zero
,two
,three
,four
,five
,six
,seven
,eight
,nine
,ten
- "more than ten miles":
aural_more_than_ten_miles_m
,aural_more_than_ten_miles_f
- "traffic":
- TCAS resolution advisory aurals
- "climb":
aural_climb_m
,aural_climb_f
- "climb, crossing climb":
aural_climb_crossing_climb_m
,aural_climb_crossing_climb_f
- "climb, climb now":
aural_climb_climb_now_m
,aural_climb_climb_now_f
- "increase climb":
aural_increase_climb_m
,aural_increase_climb_f
- "descend":
aural_descend_m
,aural_descend_f
- "descend, crossing descend":
aural_descend_crossing_descend_m
,aural_descend_crossing_descend_f
- "descend now":
aural_descend_descend_now_m
,aural_descend_descend_now_f
- "increase descend":
aural_increase_descend_m
,aural_increase_descend_f
- "maintain vertical speed, maintain":
aural_maintain_vertical_speed_maintain_m
,aural_maintain_vertical_speed_maintain_f
- "maintain vertical speed, crossing maintain":
aural_maintain_vertical_speed_crossing_maintain_m
,aural_maintain_vertical_speed_crossing_maintain_f
- "level off":
aural_level_off_m
,aural_level_off_f
- "monitor vertical speed":
aural_monitor_vertical_speed_m
,aural_monitor_vertical_speed_f
- "clear of conflict":
aural_clear_of_conflict_m
,aural_clear_of_conflict_f
- "climb":
- Terrain system aurals
- "TAWS system test OK":
aural_taws_system_test_ok_m
,aural_taws_system_test_ok_f
- "TAWS not available":
aural_taws_not_available_m
,aural_taws_not_available_f
- "TAWS available":
aural_taws_available_m
,aural_taws_available_f
- "TAWS system failure":
aural_taws_system_failure_m
,aural_taws_system_failure_f
- "GPWS available":
aural_gpws_available_m
,aural_gpws_available_f
- "GPWS system failure":
aural_gpws_system_failure_m
,aural_gpws_system_failure_f
- "pull up":
aural_pull_up_m
,aural_pull_up_f
- "\<whoop> \<whoop> pull up":
aural_tone_tone_pull_up_m
,aural_tone_tone_pull_up_f
- "too low, terrain":
aural_too_low_terrain_m
,aural_too_low_terrain_f
- "terrain, terrain":
aural_terrain_terrain_m
,aural_terrain_terrain_f
- "sink rate":
aural_sink_rate_m
,aural_sink_rate_f
- "don't sink":
aural_dont_sink_m
,aural_dont_sink_f
- "five hundred", etc:
aural_[x]_m
,aural_[x]_f
; replacing[x]
with each of:500
,450
,400
,350
,300
,250
,200
,150
,100
,50
,40
,30
,20
,10
- "TAWS system test OK":