Skip to main content

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.

caution

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.

caution

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
  • 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
  • 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
  • TAWS touchdown callouts
    • "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