In Addition, Emacspeak Provides Basic Reading Functions That Can Be Invoked to Listen to Chunks of Text Without Moving
Total Page:16
File Type:pdf, Size:1020Kb
In addition, Emacspeak provides basic reading functions that can be invoked to listen to chunks of text without moving. This research was supported by the European Union and the State of Hungary, co-financed by the European Social Fund in the framework of TÁMOP-4.2.4.A/ 2-11/1-2012-0001 ‘National Excellence Program’. Emacspeak provides a small number of core services around which the remainder of the audio interface is constructed. These essential features of the software are briefly outlined in the following paragraphs; the commands by which they can be controlled will be described later in the manual. Apart from providing a fluent spoken interface to all of Emacs' basic editing functions, Emacspeak also includes software modules which add speech feedback to a range of applications that can be run from within Emacs. In this sense, Emacspeak amounts to much more than a talking text editor; indeed, it can more aptly be characterized as a true “audio desktop”, in which speech is treated as a first-class output modality. Emacspeak implements a special minor mode, known as “voice lock mode” (see Voice-lock) which uses distinct speech characteristics to provide aural highlighting of specific textual constructs, such as comments in program code, quoted strings and reserved words See Voice Lock. This facility is further extended when Emacspeak is used with the W3 World Wide Web browser, to enable the semantic and structural distinctions captured by the HTML markup to be communicated efficiently See Web Browsing. It is often desirable to exercise control over the pronunciation of a word (E.G. a technical term or a reserved word in a programming language) within specific contexts. Emacspeak maintains pronunciation dictionaries for this purpose, which may be customized by the user. Moreover, individual dictionaries can be activated selectively, depending for example on the current major mode or the name of the file which is being visited See emacspeak-pronounce. In addition to spoken feedback, Emacspeak can generate “auditory icons”—short sound cues which alert the user to significant events, for example the opening or deletion of a file, the completion of an action, the arrival of an electronic mail message or the creation of a completion buffer. Sound cues act as a supplement to the spoken interface, and are especially valuable to the experienced user in facilitating rapid interaction. Note that in order to support auditory icons, the computer must be equipped with sound hardware for which the operating system has been correctly configured See emacspeak-sounds. While typing in an Emacs buffer, hitting space speaks the recently typed word. I use completion all the time; so Emacspeak will speak the completion just inserted as well as the next possible completion. In Emacs, use load-library ret completion ret for loading the completion package. The standard Emacs prompting functions have also been speech-enabled. Emacs prompts with available lists of completions in response to partial input wherever appropriate —all forms of completion provide speech feedback. In addition, Emacspeak provides a number of commands for reading portions of the current buffer, getting status information, and modifying Emacspeak's state. All of the commands are documented in the subsequent sections. They can be classified into types: •Emacspeak commands for listening to chunks of information. The names of these commands all start with the common prefix emacspeak-speak-. All Emacspeak commands are bound to the keymap emacspeak-keymap and are accessed with the key Control e1. Thus, the Emacspeak command emacspeak-speak-line is bound to l in keymap emacspeak-keymap and can be accessed with the keystroke Control-e l. If for some reason you wish to use some key other than control-e as the common keyboard prefix for all Emacspeak commands, set the variable emacspeak-prefix. •The second category of commands provided by Emacspeak manipulate the state of the speech device. The names of these commands start with the common prefix dtk- and are bound in keymap emacspeak-dtk-submap. You can access these commands via the prefix Control-e d2. Thus, the command dtk-set-rate is bound to r in keymap emacspeak-dtk-submap and can be executed by pressing Control e d r. Emacs has extensive online help; so does emacspeak. Please use it. This info manual is only to get you started. You can get a summary of Emacspeak's features by pressing Control-h Control-e -------------------------------------------------------------------------------- The desktop is the work area where you organize the tools of your trade and the information objects relevant to your current activities. In the conventional world of visual GUI-based computing, these tools and information objects manifest themselves as a collection of icons organized in a two- dimensional work-area –this organization is designed to place frequently used objects within easy reach. Notice that organizing one's work area in terms of visual icons arranged in a two-dimensional area where such an organization is optimized for the available "conversational gestures" of pointing and clicking is an artifact of visual interaction. In the spirit of a truly speech-enabled application, Emacspeak does not simply provide you spoken access to a particular presentation of your work environment that was initially designed with the "sign language" of visual interaction in mind. Instead, Emacspeak enables you to work with documents and other information objects in a manner that is optimized to aural, eyes-free interaction. A necessary consequence of this setup is that users accustomed to the purely visual manifestation of today's electronic desktop do not immediately perceive the Emacspeak environment as an electronic desktop. This section of the manual hopes to introduce you to a work- style that encourages a different perspective on how one interacts with the computer in performing day-to-day computing tasks. The end result in my case has been a marked increase in personal productivity. A "buffer" is the basic building block of the Emacs and hence the Emacspeak desktop. Any information presented by Emacs is placed in a "buffer". For example, when perusing this manual within Emacs, the "file" containing the documentation is presented in a "buffer". All information objects such as WWW pages, email messages, output from user interaction with command-line shells etc., are presented by Emacs in individual "buffers". Buffers provide a base level of user interaction; Emacs derives its power by allowing applications to specialize buffers to enable specific types of user-interaction that is optimized for a specific class of information. The basic "buffer object" can be specialized by Emacs applications to provide optimal interaction. This kind of specialization makes the Emacs environment an object-oriented environment; thus, the basic conversational gesture of "move to the next statement" can be assigned behavior that is appropriate to the content that the user is currently navigating. As an example of such specialization, Emacs provides "specialized modes" for working with English text, programming languages, markup source e.g. HTML or LaTeX documents and so on. The content-specific user interaction described above is a very powerful feature of Emacs, and this is where Emacspeak derives its power. Traditionally, the ability to create buffers specialized for working with specific content-types has been used by the Emacs community to develop versatile programming environments, messaging applications such as mail and news readers, and authoring environments. The clean design present in all of these Emacs extensions in terms of separating application functionality from the user-interface, combined with the availability of the entire source code making up these packages under the open-source model has laid the ground-work for developing Emacspeak as a versatile aural counterpart to the product of years of software engineering that has been invested by the Emacs community. In short, Emacspeak would not exist in its present shape or form without this prior effort. Audio Formatted Output Emacspeak takes advantage of the content-specific knowledge available within specialized buffers to produce "audio formatted" output designed to optimize user interaction. A basic consequence of the above is "voice locking" in specialized modes; a more interesting consequence is the implementation of Aural Cascading Style Sheets (ACSS) in conjunction with the Emacs W3 browser. Structured Navigation: Emacspeak also exploits content-specific knowledge to provide structured navigation of different types of electronic content. In many cases, such structured navigation is an extension of what Emacs provides by default; in other cases, Emacspeak implements the necessary extensions to provide the level of structural navigation needed to work efficiently in an eyes-free environment. Notable among such structured navigation is Emacs' powerful outline feature. Notice for example, that the Emacspeak FAQ (reached via command emacspeak-view-emacspeak-faq bound to C-e F) takes advantage of Emacs' outline mode to allow you to easily move through the various sections. An example of content-sensitive navigation is provided by the imenu package which dynamically creates a "table of contents" based on the content that is being displayed in a given buffer. Navigating The Desktop In addition to navigating individual information objects, the Emacspeak environment provides speech-enabled navigation