Perks, devices, and the LSR platform itself may define settings that can be configured by a user in the settings chooser (see Section 4.1, “Settings Chooser”). The settings are defined as programmatic variables with metadata indicating its type, its human readable name, and its extended help description. The settings dialog uses this information to populate its graphical user interface with controls for manipulating the available settings.
The following tables list the settings defined by the ReviewPerk and the BasicSpeechPerk. The setting names, descriptions, type, and default values are given.
Table 7. Settings for the ReviewPerk
| Name | Description | Type | Default |
|---|---|---|---|
| Skip empty items | When set to always, review functions silently skip over items without any text. When set to Never, the review functions stop on items with no text. When set to Report, the review functions skip over items without any text, but signal the skip so other Perks can notify the user. | choice | report |
| Review invisible items | When set, review traverses items not visible on the screen. Otherwise, review walks visible items only. | boolean | false |
| Wrap pointer | When set, review by word or character crosses item boundaries. Otherwise, first and last are announced at item boundaries. | boolean | true |
Table 8. Settings for the BasicSpeechPerk
| Name | Description | Type | Default |
|---|---|---|---|
| Echo words | When set, entire words are spoken when editing text. | boolean | false |
| Echo characters | When set, individual characters are spoken when editing text. | boolean | true |
| Always say role | When set, widget roles are always spoken. Otherwise, roles are announced only when a new type of widget is encountered. | boolean | false |
The following tables list the settings common to all serial output devices, specific to audio device, and specific to Braille devices. The setting names, descriptions, type, and default values are given.
A given device may support any subset of these settings depending on its capabilities. It may also allow the user to change these settings globally for the device or per semantic tag. In the latter case, a setting may be exposed relative to the global value for the device.
Table 9. Settings common to all serial output devices
| Name | Description | Type | Default |
|---|---|---|---|
| Cap prefix | Text to insert before capital letters. | string | |
| Preserve caps | When set, capital letters are differentiated from their lowercase equivalents. | boolean | |
| Ignore characters | Characters to treat as blanks. | string | |
| Maximum repeat | The minimum number of subsequent repeated characters required before a word or item is shortened. | integer range | 4 |
| Word definition | Defines what constitutes a word for output processing. Non-blank includes all characters up to a blank. Alphanumeric and punct. includes all characters up to the first character that is not a letter, number, or punctuation mark. Alphanumeric includes all letters and numbers up to the first non-letter or non-number. Alphabetic includes all letters up to a non-letter. | string choice | Non-blank |
![]() | Tip |
|---|---|
Cap prefix and maximum repeat are not supported. |
Table 10. Settings common to audio output devices
| Name | Description | Type | Default |
|---|---|---|---|
| Voice | Name of a pre-defined text-to-speech synthesizer voice. | string choice | (engine dependent) |
| Volume | Volume as a percentage of total volume. | percent range | 90% |
| Rate | Speech rate. | integer range | (engine dependent) |
| Pitch | Voice fundamental pitch. | integer range | (engine dependent) |
| Gender | Voice gender. | string choice | (voice dependent) |
| Aspiration | Voice breathiness or airiness. | integer range | (voice dependent) |
| Frication | Voice harshness or clickiness. | integer range | (voice dependent) |
| Intonation | Voice tone variation. | integer range | (voice dependent) |
| Head size | Voice reverberation. | integer range | (voice dependent) |
| Channel | Audio channel number. All audio within a channel is output serially while audio across channels is output in parallel. | integer | 0 |
| Position | Three-dimensional spatial position of channel with x,z in azimuth and y in elevation. | integer tuple | (0, 0, 0) |
| Instrument | MIDI instrument used for playing non-speech sound. | string choice | Acoustic grand piano |
| Language | Language and locale of the voice to use for speech synthesis. | string choice | (engine dependent) |
| Expand numbers | When set, inserts spaces before numbers causing them to be read individually. | boolean | false |
| Expand caps | When set, inserts spaces before capital letters causing them to be read individually. | boolean | true |
| Blank string | String to speak to represent a blank or ignored character. | string | blank |
| Stoppable | When set, output can be stopped. | boolean | true |
| Mute speech | When set, prevents all speech output. | boolean | false |
| Mute non-speech | When set, prevents all non-speech sound output. | boolean | false |
| Mute | Prevent all audio output. | boolean | false |
| Continuous | Loop all audio output. | boolean | false |
| Say all punctuation | When set, all punctuation will be spoken. Otherwise, only punctuation deemed important by the speech engine will be pronounced. | false | |
| Spelling format | Describes how words should be output. Text indicates all characters in the word are output without spelling. Pronounce means all punctuation characters in the word are spelled. Spell means all characters in the word are spelled. Phonetic means all characters in the word are spelled using the NATO phonetic alphabet. | string choice | Text |
The following table list the settings specific to the LSR platform itself. The setting names, descriptions, type, and default values are given. These options are available for developers and advanced users.
Table 11. Settings for the LSR platform
| Name | Description | Type | Default |
|---|---|---|---|
| Announce script exceptions | When set, important Perk exceptions will be announced on output devices. | boolean | true |
| Allow automatic stops | When set, script events interrupt output as expected. Otherwise, script stops are ignored and all output is queued without interruption. | boolean | true |