cocoaModem
cocoaModem Accessibility

Kok Chen, W7AY [w7ay (at) arrl (dot) net]
Last updated: April 19, 2012


Index (User's Manual - Speech)

General Information
Aural Monitor

Accessibility (Incremental Speak and Voice Assist)

Macros
RTTY Interfaces
PSK Interface
MFSK Interface
Hellschreiber Interface
CW Interface
ASCII Interface
SITOR-B Receiver
HF-FAX Receiver
Versions
Part II



Accessibility

cocoaModem augments vision accessibility in Mac OS X by including the
Incremental Speak and Voice Assist functions. Mac OS X's VoiceOver is augmented with a word-by-word and letter-by-letter incremental text-to-speech function that automatically speaks or spells a new word when it is received or transmitted.

The cocoaModem Speech function is set up from the Speech tab of the Preference Panel.

speechselect


Three voices are selectable for use by cocoaModem's Incremental Speak function. They are used to speak the words that are received or transmitted by cocoaModem. The three voices are common to the PSK31 interface, the RTTY interfaces, the MFSK (MFSK16 and Domino EX) interface, the ASCII interface and the SITOR-B interface. The Basic RTTY Modem and the MFSK modems do not have a Sub Receiver textview and the SITOR-B interface does not have a Transmitter textview.

In addition, you can choose a fourth voice for the Voice Assist function.


Incremental Speak

When text is printed to the receive textviews, each word is spoken when a word break is found (space or newline). An extra character is needed after a period punctuation to properly handle words such as "qrz.com" which are handled as a single spoken sequence.

Many ham abbreviations are converted to "natural language." For example, "de" is spoken as "from," "hw?" is spoken as "how copy?", "pse" is spoken as "please," "btu" is spoken as "back to you," etc. The conversion can be disabled by selecting the Verbatim checkboxes shown in the figure above.

Words that contain both letters and digits are automatically spelled out as individual characters. This causes all active amateur call signs to be spoken as individual letters and digits.

You can customize how a word is enunciated with an Enunciate.txt file. Each line of the text file starts with the word that is modified before it is sent to the Mac OS X speech synthesizer. The rest of the line (separated from the word with a single space) contains the string that is sent to the synthesizer. The following shows an example of such a file:

enun


Note that you can include punctuations, such as a comma to place very short pauses, in between elements that are sent to the speech synthesizer.

Enunciate.txt (note the capitalization) should be stored in the cocoaModem folder in the Application Support folder that is in your home directory's Library Folder.

cocoaModem's Incremental Speak function can be temporarily disabled with a keyboard shortcut (Command-U) that is associated with the Mute menu item in the Speech menu of cocoaModem's main menu bar.

speechmenu


Transmitted voice is spoken when the word is transmitted over the air, not when it is entered into the transmitter textview.

Incremental Speak can be toggled by using the Command-L keyboard shortcut to spell out words and numbers as individual letters and digits.


Voice Assist

The Voice Assist function is toggled from the menu item in the same Speech menu shown above. Voice Assist provides some additional voice functionality in the cocoaModem PSK31 TableView and in the QSO call sign and name fields.

Voice Assist will announce "Voice Assist On" and "Voice Assist Off" when it is toggled (Command-Shift-V keyboard shortcut). Please note that Voice Assist works independently from the Incremental Speak function; it is not muted by the Speech Mute (Command-U) command. The voice used by Voice Assist is chosen in the cocoaModem Speech Preferences.

The state of Voice Assist is saved to the plist. If it is on when cocoaModem is launched, you will hear the "Voice Assist On" message after cocoaModem finishes launching.

Direct Tuning with Voice Assist

Voice Assist helps with using the keyboard to tune to a frequency in the waterfall. This removed the need to click on a waterfall to select a frequency to transmit on. Direct tuning works with the waterfalls that are in the PSK, RTTY, MFSK, CW, SITOR and HF-FAX interfaces.

interfaceMenu


When Direct Frequency Access (Command-Shift-F keyboard shortcut) is selected, cocoaModem brings up a small window that includes a text field. If Voice Assist is turned on, cocoaModem will announce "Enter Frequency, ending with a carriage return."

At that point, each digit that is typed will be echoed back by Voice Access.

A period can be used as a decimal point to get finer resolution than one Hertz. When a carriage return is hit, the accumulated number between 400 Hz and 2400 Hz is used to select a frequency on the waterfall, and Voice Assist will speak the selected frequency by announcing "Tune to XXX Hertz," where XXX is the frequency.

If a frequency outside the 400-2400 Hz range is entered, Voice Assist will say "Frequency out of range, unchanged at YYY Hertz," where YYY is the previously selected frequency.

If 0 is entered in Direct Frequency Access, the modem will be turned off until a new frequency is selected.


Direct Frequency Readout with Voice Assist

speech menu

Speak Current Frequency (Command-Option-F) causes Voice Assist to read the frequency that is selected in the waterfall. If the modem is previously turned off (the PSK modem is turned off when cocoaModem launches), Voice Assist will say "Modem Turned Off."


Modem Selection with Voice Assist

Modems can be selected with keyboard shortcuts. Select Next Modem (Command-Option-Shift-N) in the Interface Menu moves to the next modem in the cocoaModem tabview. Select Previous Modem (Command-Option-Shift-P) moves to the previous modem in the tabview. When you move pass one end of the tabs, the modem at the opposite end will be chosen in a circular fashion.

If Voice Assist is turned on, the name of the selected modem is spoken.


Using Keyboard Shortcuts with the PSK Table View

When the "Select Next Station in TableView" (Command-Period keyboard shortcut) or "Select Previous Station in TableView" (Command-Shift-Period keyboard shortcut) is selected in the Interface Menu, cocoaModem tunes the PSK31 interface to a new signal, cocoaModem will speak the audio offset frequency if Voice Assist is turned on. The spoken frequency corresponds to the audible pitch from the PSK31 carrier. Please note that this is not necessarily the offset frequency shown in the Table View -- it is only identical if you are using upper sideband and zero VFO offset in the PSK configuration.

When the TableView is empty, Voice Assist will speak "No signal."


QSO Callsign and Name with Voice Assist

The QSO Callsign and QSO Name fields can be directly selected by using the Command-Option-C and Command-Option-N keyboard shortcuts, respectively. The fields are also cleared when selected; this allows you to immediately typing their contents after using the keyboard shortcuts to select the fields.

QSO Menu

If Voice Assist is turned on, each character that is entered by keyboard into these fields are spoken back. No carriage return is needed since the next time the callsign and name macros are use, they will pick up the entire contents of these two fields.


Alerts with Voice Assist

When Voice Assist is turned on, Alerts will not show up in a modal window. Instead, the title of the alert is spoken. The details of the alert can subsequently be spoken by selecting the Speak Alert Info menu item (Command-Option-I).