Skip to content

Audio: acronyms in vehicle status text are mispronounced (GPS -> "jeeps") #15110

Description

@DonLakeFlyer

Text-to-speech of vehicle status text mangles acronyms — e.g. "GPS" is spoken as "jeeps". AudioOutput::_textHash in src/Utilities/Audio/AudioOutput.cc only covers a handful of tokens (ERR, RTL, EKF, ADSB, ID, WP, CMD, ...).

Scanned PX4 (mavlink_log_* / events::send literals + libevents common.json / enums.json) and ArduPilot (GCS_SEND_TEXT / send_text / check_failed literals) for all-caps tokens in status text. Parameter names and MAVLink message names are intentionally out of scope.

Spell letter-by-letter

Both firmwares (high frequency):
GPS GNSS GCS ESC VTOL RC IMU EKF2 EKF3 AHRS INS CPU RPM SD USB PWM PPS CRC

PX4:
ICAO SIH HAGL FMU UTM MAV

ArduPilot:
FFT AFS AMSL MSL HDOP GPIO SITL ODID TCP UDP UART I2C IOMCU FTP NACK NED RSSI OSD MSP DMA DFU DNA EFI ISR WDG NMEA RTCM VTX WMM HW SW FW RX LLH IP IO RF LQ DEVID

Expand to words

CNT → count, DNST → density, TKOFF → takeoff, TERRN → terrain, AROT → autorotation, TCAL → temperature calibration, PWR → power, PERF → performance, CFG → config, FBWA → fly-by-wire A

Needs context

CAN — bus vs. English verb ("CAN node", "CAN%d", SLCAN, KDECAN).

Leave as-is (pronounceable / vendor names)

FLARM SBG MXS SBF GSOF KEBNI NET POI MAG SERVO AUTO OFF ON OK and flight mode names.

Notes

  • _replaceAbbreviations splits on spaces only, so tokens adjacent to punctuation ("GPS:", "(GPS)", "GPS%i") are currently missed and need word-boundary matching.
  • EKF2 / EKF3 don't match the existing EKF entry.
  • 2-char tokens (RC, SD, HW, SW, FW, RX, IP, IO, RF, LQ) are common and need care to avoid false positives on real words.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions