This module defines the generic TTS interface.
Select capitalization PRESENTATION and preview representative text. Set the option buffer-locally by default. With interactive prefix GLOBAL, also set the global default and use it in the current buffer. (fn PRESENTATION &optional GLOBAL)
Ignore ARGUMENTS, do nothing, and return nil. This function accepts any number of arguments in ARGUMENTS. Also see ‘always’. (fn &rest ARGUMENTS)
Select and start an local speech server interactively. Local server lets Emacsvox on a remote host connect back via SSH port forwarding for instance. Argument PROGRAM specifies the speech server program. Port defaults to tts-local-server-port (fn PROGRAM &optional PROMPT-PORT)
Clear the buffer override and restore automatic punctuation policy.
Set character scale FACTOR for speech rate. Speech rate is scaled by this factor when speaking characters. Not presently used by either Dectalk or Viavoice TTS. Interactive PREFIX arg means set the global default value, and then set the current local value to the result. (fn FACTOR &optional PREFIX)
Set speech rate to one of nine predefined levels. Interactive PREFIX arg says to set the rate globally. Formula used is: rate = tts-speech-rate-base + tts-speech-rate-step * level. (fn &optional PREFIX)
Set legacy language ALIAS to LANG. Signal a user error when logical voices own language routing. (fn ALIAS LANG)
Set punctuation mode to MODE. Values are ‘some’, ‘all’, ‘none’, or (profile ID FALLBACK). Named profiles require matching worker catalogues; otherwise use FALLBACK. Interactive PREFIX arg means set the global default value, and then set the current local value to the result. (fn MODE &optional PREFIX)
Set punctuation mode to all. Interactive PREFIX arg sets punctuation mode globally. (fn &optional PREFIX)
Set punctuation mode to some. Interactive PREFIX arg sets punctuation mode globally. (fn &optional PREFIX)
Show retained local speech-server diagnostics for NAME. Choose Speaker for main speech or Notify for notifications. Signal a user error if no diagnostic buffer is available. (fn NAME)
How enabled capitalization indication is presented. ‘spoken’ says "cap" or "all caps". ‘tone’ places a short tone at the capitalized boundary, and ‘spoken-tone’ combines both presentations. ‘custom’ publishes capitalization facts for personal aural rules without adding a built-in presentation. ‘none’ suppresses capitalization presentation while leaving ‘tts-caps’ enabled. Camel-case splitting remains controlled independently by ‘tts-split-caps’.
Default Value:
tone
Set this to your preferred cloud TTS server.
Default Value:
"cloud-outloud"
Hide local speech-server diagnostic buffers from the standard buffer list. When non-nil, their names start with a space. Custom buffer switchers may still list them. Diagnostics are retained in either case; use ‘tts-show-diagnostics’ to inspect them. Changes take effect when you restart speech with ‘tts-restart’.
Default Value:
t
Engine we use for our local TTS server.
Default Value:
"outloud"
Main-stream earcon volume as a percentage from 0 to 100. Zero silences earcons played by Omnivox. External sound players are unaffected. Customize applies changes to subsequent audio.
Default Value:
100
Main-stream tone volume as a percentage from 0 to 100. Zero silences tones. Customize applies changes to subsequent Omnivox audio.
Default Value:
100
Virtual sound device to use for notifications stream. For Omnivox, nil starts a second process routed to both channels; ‘left’, ‘right’, or ‘both’ selects its process-wide route. Set this to ‘default’ or the empty string to disable that separate process and fall back to main speech. For other servers, nil disables a separate notification stream. If you name a device, make sure it exists first. For SwiftMac, use ‘left’ or ‘right’.
Default Value:
nil
Notification earcon volume as a percentage from 0 to 100. Zero silences earcons played by the separate Omnivox notification process. Customize applies changes to subsequent audio. Main output uses main settings. External sound players are unaffected.
Default Value:
100
Notification speech volume as a percentage from 0 to 100. Zero silences speech on the separate Omnivox notification process. Customize applies changes to subsequent audio. Main output uses main settings.
Default Value:
100
Notification tone volume as a percentage from 0 to 100. Zero silences tones on the separate Omnivox notification process. Customize applies changes to subsequent audio. Main output uses main settings.
Default Value:
100
Automatic punctuation modes, ordered from specific to general. Each entry maps a major mode to ‘all’, ‘some’, ‘none’, or (profile ID FALLBACK), with a named Omnivox profile string and built-in fallback. The first entry for which ‘derived-mode-p’ succeeds supplies the buffer policy. A buffer override set through ‘tts-set-punctuations’ takes precedence. When no entry matches, the default value of ‘tts-punctuation-mode’ is used.
Default Value:
((agent-shell-mode . all) (2048-mode . some) (eat-mode . all) (eshell-mode . all) (eww-mode . some) (Man-mode . all) (speedbar-mode . all) (sudoku-mode . some) (term-mode . all) (vterm-mode . all) (org-mode . some) (markdown-mode . some) (muse-mode . some) (LaTeX-mode . some) (TeX-mode . some) (texinfo-mode . some) (conf-unix-mode . all) (html-helper-mode . all) (sgml-mode . all) (xml-mode . all) (nxml-mode . all) (xsl-mode . all) (bibtex-mode . all) (prog-mode . all) (comint-mode . all) (text-mode . some))
Value of lowest speech rate.
Default Value:
50
Speech rate step used by ‘tts-set-predefined-rate’.
Default Value:
8
Replacements for characters.
Default Value:
((150 . "-") (9473 . "-") (9475 . "|") (176 . " degrees ") (8451 . "Degree C") (8457 . "Degree F ") (8220 . "\"") (8221 . "\"") (8902 . "*") (173 . "-") (8216 . "`") (8217 . "'") (8208 . " dash ") (8211 . " dash dash ") (8212 . " em dash ") (8202 . " ") (65279 . " ") (8204 . "") (8203 . " ") (8201 . " ") (8213 . "----") (8214 . "||") (8230 . "...") (8226 . " bullet ") (149 . " ... ") (8482 . "TM") (64256 . "ff") (64257 . "fi") (64258 . "fl") (64259 . "ffi") (64260 . "Ffl"))
Alist of character name transformation rules.
Default Value:
(("BOX DRAWING" lambda (_ignored) ".")
("^Mathematical Sans-Serif\\( small\\| capital\\)? letter \\(.*\\)$" lambda
(s)
(match-string 2 s))
("^greek\\( small\\| capital\\)? letter \\(.*\\)$" lambda
(s)
(match-string 2 s))
("^latin\\( small\\| capital\\)? letter \\(.*\\)$" lambda
(s)
(match-string 2 s))
("^DEVANAGARI \\(sign\\|vowel sign\\|letter\\)? \\(.*\\)$" lambda
(s)
(match-string 2 s)))
Characters of these charsets are ignored by tts-unicode-replace-chars.
Default Value:
(ascii latin-iso8859-1)