Configure YAAC Sounds

When using the YAAC sounds plugin, you can choose how various events of importance are audibly reported.

There are four ways that events can be audibly reported:

  1. not at all (silently);
  2. by beeping the default bell sound a selectable number of times (this may or may not work, depending on your platform);
  3. playing a user-provided sound file through a selected sound card;
  4. sending a formatted text string through an externally-provided text-to-speech synthesizer program.

The expert-mode Configuration dialog will have an additional tab (labeled "Sounds") added to the core YAAC configuration tabs. This tab is broken into three parts:

  1. A section selecting which of possible multiple sound cards should be used when playing sound files (the third reporting mode or action), and whether or not filtering should be used to restrict which events should make sounds (including whether or not logfile playback messages should trigger sounds the same as real-time messages, and whether messages received from sources other than RF should be reported audibly as their event types specify, and whether only specifically selected stations should cause sounds to be created).
  2. A table listing the event types in YAAC and permitting editing of the action to be taken for each event type, with a parameter specifying how that action will be taken (such as the path name to a sound file, or the format of the variable-substituted text to be sent to the text-to-speech synthesizer). The events are:
    Event nameCondition of occurrence
    Message toAn APRS text message addressed to one of this station's own callsigns was received.
    CQAn APRS text message addressed to "ALL, "CQ", or "QSY" was received.
    Weather WarningAn APRS text message addresses to "NWS-WARN", "NWS_WARN", or "BOM_WARN" was received.
    EMERGENCYA packet of any protocol with emergency precedence was received.
    PriorityA packet of any protocol with priority precedence was received.
    SpecialA packet of any protocol with special precedence was received.
    AlarmAn alarm condition has occurred. Currently only used by the telemetry alarm and weather alert plugins.
    New station in rangeA station position report has been received that is newly in the range defined by the range limit filter.
    New object in rangeAn Object or Item report has been received that is newly in the range defined by the range limit filter.
    DXA DX report has been received.
    BellA BEL control character (control-G or octal 007) was received in a terminal window, or the user attempted to enter a duplicate callsign for the station health monitor configuration.
    Object TakeoverAn Object or Item report was received from another station for an Object the local station is transmitting. The local transmission is stopped until the operator manually re-enables it for the Object.
    New StationA new station has been heard. Note this will include stations formerly heard who were inactive long enough to be expired out of YAAC's list of active stations.
    New ObjectA new Object or Item has been heard. Note this will include Objects formerly heard who were inactive long enough to be expired out of YAAC's list of active objects.
    Station Out of RangeA station that was formerly within the defined range limit has moved outside that limit (or the local YAAC station has moved away from it).
    Lost Internet ConnectionYAAC has lost an Internet connection to an APRS-IS server or to a TNC connected by KISS-over-TCP. The name of the remote computer is reported.
    Restored Internet ConnectionThe APRS-IS connection has been restored by auto-reconnect.
    GPS Lock LostReports that YAAC's GPS data source has lost position.
    GPS Lock AcquiredReports that YAAC's GPS data source has restored computing positions.
    New BulletinAn APRS text message containing a new or updated bulletin was received.
    Object Out of RangeAn Object or Item that was formerly within the defined range limit has moved outside that limit (or the local YAAC station has moved away from it).
    Critical ErrorA critical error (possibly requiring user intervention) has occurred in YAAC. Currently, this is only reported for forced reduction in message retention intervals because YAAC is running out of memory.
    New Repeater in RangeA new repeater station has been discovered. Currently only used by the repeater finder plugin.
    Tracked StationA station or object explicitly marked for tracking has moved.
    AnnouncementGeneral announcements from YAAC or one of its plugins. Currently only used by the Repeater Finder plugin to announce tuning changes of the radio so the operator can confirm the desired repeater was selected.
    Station Timed OutAnnouncement that a particular station or object has not been heard from in a configured amount of time and is presumed off-the-air. Calculated by YAAC when updating the station history.
  3. The system command to use to start a text-to-speech synthesizer program in a mode that will accept lines of text on the program's standard input and convert those lines to spoken words. YAAC has been tested with the "espeak" program, available from https://espeak.sourceforge.net/ or included in the optional packages for some Linux distros. If a piped chain of commands is needed to connect the text-to-speech synthesizer to the correct audio output with another program, the '|' symbol can be used in the command string to separate the command stages, assuming the default command shell of the native operating system supports piping.

    A Test Speech button is provided, which will cause YAAC to send the speech synthesizer the currently selected row in the event table (testing its definition) or, if no row is selected, the text "Testing speech synthesizer." Note that if using a multi-locale text-to-speech synthesizer, the command must properly specify (or infer from the environment) the correct language. The default text formats for speaking events are presently only provided in English and German; any overrides will not be translated if the user specifies a non-default custom event text format.

For speech synthesis, values from the event can be inserted into the text by entering appropriate macros into the text format string; these macros will be replaced by the corresponding text when the text is sent to the speech synthesizer program. These case-sensitive macros are:

Macro nameMeaning
{PACKET}Speak the entire AX.25 packet (using the debugging format built into the various packet classes in the Java toString() method; see the YAAC plugin SDK or source code distribution for more information).
{SENDER}Speak the originating station's callsign in standard ITU phonetics.
{OBJECT_NAME}Speak the object name (if this is an object message), using phonetics if it looks like a callsign.
{LATITUDE}Speak the latitude in standard APRS format.
{LONGITUDE}Speak the longitude in standard APRS format.
{ADDRESSEE}Speak the addressee of an APRS text message, using standard phonetics if it looks like a callsign.
{MESSAGE}Speak the free-text comment of an APRS packet, spelling out capitalized abbreviations and using phonetics for words that look like amateur radio callsigns.
{MAIDENHEAD}Speak the phoneticized Maidenhead locator of the position message.
{SYMBOL}Speak the type description of the symbol.
{ALTITUDE}Speak the altitude (if any) in its specified units.
{BEARING}Speak the bearing from the local station to the specified station or object in degrees from True North.
{DISTANCE}Speak the distance from the local station to the specified station or object in the currently configured distance unit.
{DIRECTION}Speak the compass direction from the local station to the specified station or object in cardinal directions (North, South West, etc.).
{MOBILEBEARING}Speak the bearing to the remote station or object relative to the current or last-noticed direction of motion of the local YAAC station. If the local station has never been noticed to move, this is the same as {BEARING}.
{FREQUENCY}Speak the frequency reported for the remote station or object in megaHertz. Typically, this only works for repeater objects.
{SPEED}Speak the reported speed of travel of the station or object, scaled into the currently configured distance units for YAAC.
{COURSE}Speak the reported direction of travel of the station or object in degrees from True North.
{ALIAS}Speak the tactical name (alias) of the station or object if it has one, otherwise speak the station's callsign.
{AGE}age of this station or object (period of time since the station or object was last heard from)

If a macro is specified in a context where it doesn't have a value, no additional text will be inserted when the macro is replaced (for example, the {ADDRESSEE} of a new station event is meaningless and will be blank).