# Speech-enabled Applications On The Emacspeak Desktop

This document catalogs the speech-enabled applications available on the Emacspeak desktop. Note that depending on your Emacs installation, you may need to download and install extra applications to avail yourself of all of the features of the Emacspeak audio desktop. Emacs applications can be located via the various Emacs Lisp archives such as ELPA and MELPA.

## Speech-Enabled Applications

## Application Categories

As of the last update, there are a total of 205 speech-enabled applications in 15 categories on the Emacspeak audio desktop.

1. DOCUMENTATION (4)
2. DESKTOP (11)
3. FINDERS (13)
4. WEB (16)
5. GOOGLE CLIENT (8)
6. MESSAGING (17)
7. CALENDARING (4)
8. SHELL (7)
9. TASKBAR (3)
10. MULTIMEDIA (15)
11. AUTHORING (15)
12. READING (15)
13. PRODUCTIVITY (30)
14. PROGRAMMING (37)
15. DISTRACTIONS (10)

## Speech-enabled applications on the Emacspeak audio desktop.

## DOCUMENTATION (4)

1 | info | Emacs' online hypertext documentation system. Emacspeak uses audio formatting to highlight menus and hyperlinks.
2 | help | Speech-enabled online help across the audio desktop.
3 | man | UNIX online manual browser with full aural highlighting and structured browsing.
4 | woman | Support for WoMan, the UNIX Man page reader implemented as a native Emacs application.

## DESKTOP (11)

1 | ido | Efficiently find buffers and files on the audio desktop --- the IDo way.
2 | ibuffer | Tool for locating open buffers on the audio desktop.
3 | iswitchb | Quickly switch to buffers on the audio desktop.
4 | bs | Tool for locating open buffers on the audio desktop.
5 | buff-menu | Browsing and selecting buffers on the audio desktop.
6 | buff-sel | Interactive selection of buffers on the audio desktop.
7 | yasg | Pattern-based selection of open buffers.
8 | speedbar | Context-sensitive browsing tool. Provides seamless browsing of the entire file system or a single file with the same consistent interface.
9 | elscreen | Speech-enables package ElScreen for managing Emacs window layouts.
10 | sawfish | Speech-enables the Sawfish window-manager.
11 | DBus | Support for DBus integration.

## FINDERS (13)

1 | dired | Browse and operate on files and folders.
2 | wdired | Edit filenames within dired as a means of moving and renaming files.
3 | ffap | Find file or url at point.
4 | locate | File browser interface for finding files.
5 | find-dired | Seamless integration between the file browser and finder.
6 | find-grep | Using grep with find. also, se igrep.
7 | efs | Front-end to remote file access using an FTP back-end.
8 | tramp | Front-end to remote file access using SSH backend.
9 | finder | Package browser for locating installed applications.
10 | rpm | Client for browsing installed RPM packages.
11 | Find Wizard | Command `emacspeak-wizards-generate-finder` provides an easy to use front-end to UNIX `find`.
12 | apt-get | Emacs interface to Debian `apt-get`
13 | elpa | Support for the Emacs Lisp Package Archive.

## WEB (16)

1 | eww | Built-in, Standards-compliant WWW browser with Aural CSS support.
2 | w3 | Standards-compliant WWW browser with Aural CSS support.
3 | piglets | Integrates Emacspeak with Firefox, with Fire-Vox providing spoken output through the emacspeak TTS server.
4 | w3m | Light-weight WWW browser. Does not support table navigation, CSS or Aural CSS, but can be fast and light-weight.
5 | mozrepl | Speech-enabled bridge between Emacs and the MozREPL extenxion for Firefox.
6 | url-template | Emacspeak client that provides programmable URL templates. Pre-defined templates offer easy access to W3C mailing lists, CNN sites etc.
7 | EmapSpeak | Audio-formatted access to Google Maps
8 | webspace | Emacspeak tool for displaying continuously updating headers, and browsing conveniently setup hypertext links to WebSpace content.
9 | websearch | Emacspeak websearch client with single click access to popular search engines. Once selected, the searcher prompts for the relevant input, performs the search, and speaks the result. In addition, see the Web wizards in Emacspeak Wizards.
10 | webspace | Emacspeak WebSpace --- provides interaction-free information access.
11 | xslt | Ability to apply XSL transforms to Web content before it is displayed.
12 | lynx | Single key interface for invoking lynx in an appropriately customized terminal buffer.
13 | net-utils | Front-end to networking tools.
14 | babel | Access Internet translation services.
15 | mozrepl | Connect to Firefox.
16 | google | Support for Google search --- including the Google tool-belt for refining searches.

## GOOGLE CLIENT (8)

1 | gblogger | Blogger dclient using Atom Publishing Protocol.
2 | greader | Google Reader client using ATOM and REST.
3 | gcal | Google Calendar client using ATOM and GData.
4 | gmaps | Google Maps (V2) API client, that enables Maps exploration.
5 | gphoto | Google Picasa (photo albums) client using ATOM and GData.
6 | gdocs | Enables publishing documents to Google Docs from within Emacs using org-mode for authoring content.
7 | gweb | Provides a highly efficient suite of WebSearch utilities using Google's AJAX Search API.
8 | gfeeds | Provides efficient access to Blogs using Google's AJAX BlogSearch APIs.

## MESSAGING (17)

1 | vm | Mail reader featuring full mime support.
2 | bbdb | Manages email addresses and other contact information by seamlessly integrating with messaging applications.
3 | eudc | Universal Directory Client including LDAP support and seamless integration with messaging applications.
4 | gnus | Usenet news and email client with support for exotic information backends such as Slashdot etc.
5 | elfeed | Feed reader for Emacs
6 | newsticker | Speech-enabled NewsTicker, a native Emacs RSS reader.
7 | amphetadesk | Emacs front-end to AmphetaDesk
8 | rss | Speech-enabled RSS viewer for RSS 0.9, RSS 1.0 and RSS 2.0
9 | atom | Speech-enabled ATOM viewer.
10 | message | Email composition from within other applications.
11 | supercite | Enables flexible citations when composing email.
12 | erc | Internet Relay Chat (IRC) client with voice locking support and parallel chat sessions.
13 | emacs-jabber | Speech-enables emacs-jabber, an Emacs Jabber client available from Sourceforge.
14 | gnuyahoo | GNUYahoo is a Yahoo messenger client.
15 | mspools | Interface for working with multiple mail spools; allows easy browsing of automatically archived mail.
16 | mh-e | Interface to the MH suite of email tools.
17 | rmail | Email client.

## CALENDARING (4)

1 | calendar | Desktop calendar with an integrated appointment book.
2 | diary | Speech-enabled diary via EDiary.
3 | appointments | Speech-enabled appointments via the Emacs calendar.
4 | todo | Speech-enabled ToDo Lists.

## SHELL (7)

1 | shell | Runs interactive command interpreters like BASH and TCSH.
2 | ansi-colors | Applies Aural CSS ACSS properties to convert ansi color codes to appropriate voice changes to produce audio formatted output.
3 | eterm | Speech-enabled terminal client for running full-screen applications like VI, Lynx and PINE.
4 | ssh | Front-end to SSH.
5 | eshell | Command shell implemented in Emacs Lisp, making it independent of the underlying operating system.
6 | comint | Support for running generic command interpreters.
7 | xml-shell | Interactive shell for browsing XML structures via libxml and XMLLint.

## TASKBAR (3)

1 | proced | Proced is part of Emacs 23, and provides a front-end for monitoring and controlling processes.
2 | view-process | Front-end for monitoring and controlling processes.
3 | analog | Analog.el provides a log analyzer that can be customized to display system log files with a few convenient keystrokes.

## MULTIMEDIA (15)

1 | aumix | Emacspeak front-end for configuring the auditory display.
2 | cd-tool | Control CD player from anywhere on the audio desktop.
3 | mpg123 | Play mp3 files, with keyboard access to all functions.
4 | alsaplayer | Play MP3 and OGG streams using ALSA.
5 | zinf | Play media streams using zinf.
6 | madplay | Play MP3 and OGG streams using Madplay.
7 | vlc | Play media streams. Includes presets for single click access to favorite streams.
8 | mplayer | Play Internet Media streams. Includes presets for single click access to favorite streams.
9 | vuiet | Discover and play music
10 | sox | Audio workbench for the Emacspeak desktop.
11 | tune-in | Search, Browse and play Internet radio stations
12 | pianobar | Play Pandora radio using the Open Source Pianobar command-line client.
13 | librivox | API client for listening to free Librivox audio books.
14 | emms | Emacs equivalent of XMMS --- a versatile multimedia tool. Provides a consistent user interface to a variety of media players.
15 | midge | Compose and play MIDI files.

## AUTHORING (15)

1 | nxml | XML authoring environment by James Clark. Provides on the fly validation and voice locking.
2 | xae | XML authoring environment based on PSGML and XSL. Enables structured document authoring and interactive preview.
3 | psgml | Environment for authoring and maintaining XML and SGML documents. Provides structured authoring support including context-sensitive help based on current DTD.
4 | tdtd | Author and maintain XML and SGML DTD files.
5 | xslt-process | Interactive environment for working with XSLT.
6 | auctex | Authoring environment for TeX and LaTeX documents; template based authoring, voice locking support and structured browsing.
7 | rst | Authoring environment for RST documents. and LaTeX documents; template based authoring, voice locking support and structured browsing.
8 | bibtex | Maintain BIBTeX bibliographies.
9 | reftex | Browse cross-references in LaTeX documents.
10 | texinfo | Authoring support for creating texinfo documentation. Texinfo enables the production of both online hypertext and high-quality print documentation from a single source.
11 | metapost | Speech-enabled metapost mode for creating drawings using the metapost language.
12 | enriched | Rich-text authoring to provide a simple word processor.
13 | evil | EVIL == Emacs VI Emulation Layer. module emacspeak-evil speech-enables EVIL.
14 | rdf-edit | Speech-enabled editing of RDF/DAML ontologies using DAMLITE.
15 | muse | Speech-enables `muse-mode` an Emacs publishing package that enables Wiki-like authoring with the ability to publish the results to multiple formats.

## READING (15)

1 | ocr | Emacs front-end to OCR engines. This module provides speech-enabled access to image aquisition and document recognition tools available on the underlying platform.
2 | emacspeak-daisy | Implements a digital talking book reader for DAISY3 talking books.
3 | emacspeak-bookshare | Implements a client for Bookshare, including a light-weight Daisy reader.
4 | emacspeak-epub | Implements a simple EPub reader.
5 | view | File browser for reading etexts.
6 | bookmark | Create bookmarks that persist across Emacs sessions.
7 | org | The `org.el` package is available in new versions of Emacs as `text/org.el`. It is built on top of `outline mode` and is a useful way to keep organized notes.
8 | markdown | Speech-enabled markdown mode.
9 | remember | Package `remember.el` in conjunction with `org mode` for keeping notes is a powerful way to remember related items of information. As an example, I now use the functionality provided by package `remember` in conjunction with `org mode` instead of maintaining a Web HotList; the `org+remember` solution captures a lot more context and keeps things far better organized.
10 | outline | Context-sensitive outline support for browsing documents.
11 | folding | Application for structuring and later obtaining structured views of files.
12 | hide | Emacspeak client for hiding and exposing blocks of text. Blocks are automatically recognized by lines having a common prefix. This is used to advantage in imposing dialog structure on email conversations, skipping blocks of commented code etc.
13 | table-ui | Emacspeak's rich table browsing interface. See Auditory User Interfaces (AUI) at http://www.cs.cornell.edu/home/raman/aui/aui.html for the theoretical underpinnings of this interface.
14 | filtertext | Emacspeak client for progressively filtering text.
15 | gridtext | Emacspeak client for overlaying grids on text. Useful in browsing log files and other text output that has columnar structure.

## PRODUCTIVITY (30)

1 | search-and-replace | Speech-enabled incremental search is available throughout the audio desktop. Audio formatting is used to aurally highlight search hits, and is used to advantage when providing spoken feedback during search and replace.
2 | browse-kill-ring | Speech-enabled browsable kill ring. Allows easy browsing of Emacs' builtin clipboard facility.
3 | calculator | Simple but powerful desktop calculator.
4 | ess | Emacs interface to statistics packages like `R`
5 | dismal | Spread-sheet application with support for customizing spoken feedback on a per-sheet basis.
6 | calc | Calculator with financial and scientific functions.
7 | gnuplot | Front-end to Gnuplot for plotting graphs; integrates with the symbolic calculator.
8 | eperiodic | Periodic table of elements.
9 | custom | Intuitive interface to customize Emacs' extensive set of customization options.
10 | dictation | Front-end to IBM ViaVoice dictation engine; spoken text is recognized using Automatic Speech Recognition (ASR), inserted into the current context and spoken back using Text To Speech.
11 | dictionary | Access dictionary servers.
12 | vdiff | Package VDiff implements visual diff --- and is speech-enabled by module emacspeak-vdiff.
13 | ediff | Interface for browsing diff output; enables easy merging of different file versions, applying patches etc. Voice locking is used to advantage in aurally highlighting the differences.
14 | forms | Forms-based interface for manipulating structured data. Useful for system administration tasks such as managing password databases and browsing log files.
15 | hyperbole | Information management system.
16 | imenu | Generates context-sensitive table of contents.
17 | ispell | Front-end to interactive spell checker. Errors are aurally highlighted and available corrections automatically spoken.
18 | flyspell | Interactive spell checker that aurally and visually highlights misspelled words as they are typed.
19 | find-things-fast | Finds files within a project using cached list of files.
20 | magit | Emacs front-end to GIT
21 | vc | Front-end to version control systems like SVN, GIT, HG, CVS and RCS.
22 | pcl-cvs | Front-end for working with CVS repositories.
23 | pronounce | Emacspeak client for defining custom pronunciations. Pronunciations can be defined on a per-file, per-directory, or per-mode basis and persisted across sessions.
24 | remote | Emacspeak client for running remote sessions. Like the X windows system, Emacspeak supports a remote speech server, allowing an Emacspeak session running on a remote machine to send speech output to a server running on the local machine.
25 | tar | Front-end for browsing tar, jar and zip archives.
26 | arc | Browse various compressed archives.
27 | Muggles | Emacspeak Muggles exposes smart keybindings for performing common tasks.
28 | wizards | Emacspeak wizards for performing common tasks.
29 | clipboard | Emacspeak clipboard for cut and paste among different emacspeak sessions, possibly running on different hosts.
30 | units | Simple wizard for accessing Units tool --- a powerful units convertor.

## PROGRAMMING (37)

1 | xref | Support for cross-references via package XRef in Emacs-25.
2 | company | Complete anything support. Supports all features of package Company via a custom speech-enabled front-end.
3 | flycheck | On-the-fly syntax checking.
4 | indium | Javascript Development Environment with interactive debugging using Chrome Debugger API or NodeJS
5 | tide | Typescript Development Environment.
6 | clojure-mode | Support for editing Clojure source.
7 | rust | Speech-enable a suite of modules that provide an IDE for rust development --- rust-mode, rustic and racer.
8 | cider | A powerful IDE for Clojure development.
9 | slime | Superior Lisp Interaction mode for Emacs --- a powerful IDE for Common Lisp development.
10 | jdee | Java Development Environment with interactive debugging support using the Java Platform Debug Architecture (JPDA). Provides a speech-enabled inspector and wizards.
11 | cedet | Integrated Emacs Development Environment
12 | ecb | Emacs Class Browser with support for Java, C++, C and other popular languages. Provides navigable table of contents as well as a browsable method and function index for the file being editted.
13 | gud | Unified debugger front-end. Allows interactive debugging with fluent spoken feedback.
14 | c | Editting support for C, C++ and related languages with full aural highlighting and semantic support. Provides contextual spoken feedback using semantic context of code being editted.
15 | compile | Front-end to running batch compiles. Provides easy navigation through the lines containing errors.
16 | perl | Editting support for Perl. Features aural highlighting and easy access to online help.
17 | ruby | Speech-enables editting support for Ruby. Features aural highlighting and easy access to online help.
18 | lua | Editting support for interactive LUA development. Features aural highlighting, structured browsing and debugging.
19 | Go | Editting support for interactive Go development. Features aural highlighting, structured browsing and debugging.
20 | geiser | Support for interactive Scheme development including aural highlighting, an interactive REPL, structured browsing and interactive help.
21 | racket-mode | Support for interactive Racket development including aural highlighting, an interactive REPL, structured browsing and interactive help.
22 | tcl | Support for interactive TCL development including aural highlighting, structured browsing and interactive help.
23 | python | Editting support for interactive Python development. Features aural highlighting, structured browsing and debugging.
24 | elpy | IDE for interactive Python development.
25 | tcl | Support for interactive TCL development including aural highlighting, structured browsing and interactive help.
26 | sql | support for SQL including aural highlighting and interactive SQL development.
27 | generic | Editting support for JavaScript and Apache configuration files with voice locking and structured navigation.
28 | hideshow | Hiding and showing blocks of C code.
29 | make-mode | Editting support for creating and maintaining Makefiles.
30 | sh-script | Editting support for shell scripts.
31 | rpm-spec | Editting support for RPM spec files.
32 | yasnippet | Support for creating and filling-in templates using package YaSnippets. Used to implement wizards in JDE, HTML helper mode and friends.
33 | dmacro | Dynamic macro package for template-based editting.
34 | oo-browser | Tool for browsing object oriented software codebases --- this is largely obsoleted by ECB..
35 | sage-shell-mode | Speech-enable SageMath interaction.
36 | ein | IPython Notebook interaction from Emacs.
37 | smartparens | Speech-enable package smartparens for intelligently managing matching delimiters.

## DISTRACTIONS (10)

1 | entertain | Speech-enabled access to numerous games including adventure, a multiplication puzzle and Hangman.
2 | 2048 | Speech-enabled access to the 2048 game.
3 | chess | Speech-enabled access to GNU Chess .
4 | threes | Speech-enabled access to the Threes puzzle.
5 | sudoku | Speech-enabled access to SuDoku --- the number placement game.
6 | gomoku | Speech-enabled version of the traditional board game.
7 | solitaire | Speech-enabled version of the traditional board game.
8 | tetris | Speech-enabled version of Tetris with auditory icons and the needed UI enhancements to play eyes-free Tetris. See the paper entitled Conversational Gestures On The Audio Desktop (Assets 98) for the underpinnings of this enhanced UI --- online paper.
9 | sudoku | Speech-enabled version of the popular number placement game, SuDoKu
10 | jawbreaker | Provides a fluent auditory user interface to the JawBreaker game implemented in JavaScript on the Web. This uses the Piglets framework for Emacs integration, and uses the AxsJAX-enabled version of the JawBreaker game.

## Additional Notes

Many shell-based tools., e.g., the napster.pl from Lincoln Stein's Napster package can be run effectively from within an Emacs shell. In such cases, Emacspeak utilities like filtertext and gridtext can be used to advantage in efficiently scanning and filtering the program output. Finally, note that when using full screen applications like PINE and Lynx when run within the Emacs terminal emulator (provided by package eterm) Emacspeak functions like a traditional screenreader.

Emacspeak Home On Sourceforge