Next: , Up: Emacspeak Commands And Options   [Contents][Index]

12.1 acss-structure

The CSS Speech Style Sheet specification defines a number of abstract device independent voice properties. A setting conforming to the CSS speech specification can be represented in elisp as a structure.

We will refer to this structure as a "speech style". This structure needs to be mapped to device dependent codes to produce the desired effect. This module forms a bridge between emacs packages that wish to implement audio formatting and Emacspeak’s TTS module. Emacspeak produces voice change effects by examining the value of text-property ’personality.

Think of a buffer of formatted text along with the text-property ’personality appropriately set as a "aural display list". Module voice-setup.el help applications like EWW produce audio-formatted output by calling function acss-personality-from-speech-style with a "speech-style" –a structure as defined in this module and get back a symbol that they then assign to the value of property ’personality. Emacspeak’s rendering engine then does the needful at the time speech is produced. Function acss-personality-from-speech-style does the following: Takes as input a "speech style" (1) Computes a symbol that will be used henceforth to refer to this specific speech style. (2) Examines emacspeak’s internal voice table to see if this speech style has a voice already defined. If so it returns immediately. Otherwise, it does the additional work of defining a -voice for future use. See module voice-setup.el to see how voices are defined independent of a given TTS engine.