12.127 emacspeak-maths

12.127.1 Setup

Do not try what follows until you have read js/node/README.org and successfully set up nvm (Node Version Manager) as described there.

12.127.2 Technical Overview

Spoken mathematics on the emacspeak audio desktop. Use a NodeJS based speech-rule-engine for Mathematics as the backend for processing mathematical markup. The result of this processing is an annotated S-expression that is rendered via Emacspeak’s speech facilities. Annotations follow Aural CSS as implemented in Emacspeak, This allows us to map these expressions to aural properties supported by specific TTS engines.

Start the server/client: M-x emacspeak-maths-start. Once the server and client are started, you can browse any number of math expressions using the emacspeak-maths-navigator defined in module See emacspeak-maths as described below.

Note: In general, once everything is configured correctly, using the maths navigator automatically starts the server and client. Invoke the Navigator using s-spc — this is the <windows> key on Linux laptops. Linux. Now you can use these keys:

The current expression is spoken after each of the above commands. It is also displayed in a special buffer *Spoken Math*. That buffer holds all previously generated output, And Emacs commands forward-page and backward-page can be used to move through each chunk of output.

12.127.3 Emacspeak-Maths Commands

12.127.3.1 emacspeak-maths-depth

Command: emacspeak-maths-depth
Move depth in current Math expression. (auto-generated)

12.127.3.2 emacspeak-maths-down

Command: emacspeak-maths-down
Move down in current Math expression. (auto-generated)

12.127.3.3 emacspeak-maths-enter

Command: emacspeak-maths-enter (latex)
Send a LaTeX expression to Maths server,
 guess  based on context. 

(fn LATEX)

12.127.3.4 emacspeak-maths-enter-guess

Command: emacspeak-maths-enter-guess
Send the guessed  LaTeX expression to Maths server. 

12.127.3.5 emacspeak-maths-flush-output

Command: emacspeak-maths-flush-output
Flush client buffer if things go out of sync.

12.127.3.6 emacspeak-maths-left

Command: emacspeak-maths-left
Move left in current Math expression. (auto-generated)

12.127.3.7 emacspeak-maths-restart

Command: emacspeak-maths-restart
Restart Node math-server if running. Otherwise starts a new one.

12.127.3.8 emacspeak-maths-right

Command: emacspeak-maths-right
Move right in current Math expression. (auto-generated)

12.127.3.9 emacspeak-maths-root

Command: emacspeak-maths-root
Move root in current Math expression. (auto-generated)

12.127.3.10 emacspeak-maths-shutdown

Command: emacspeak-maths-shutdown
Shutdown client and server processes.

12.127.3.11 emacspeak-maths-speak-alt

Command: emacspeak-maths-speak-alt
Speak alt text as Maths.
For use on Wikipedia pages  for example.

12.127.3.12 emacspeak-maths-spoken-mode

Command: emacspeak-maths-spoken-mode
Special mode for interacting with Spoken Math.

This mode is used by the special buffer that displays spoken math
returned from the Node server.
This mode is similar to Emacs’ ‘view-mode’.
see the key-binding list at the end of this description.
Emacs online help facility to look up help on these commands.

Key             Binding
——————————————————————————-
[               backward-page
]               forward-page
h               emacspeak-maths-left
j               emacspeak-maths-down
k               emacspeak-maths-up
l               emacspeak-maths-right

In addition to any hooks its parent mode ‘special-mode’ might have
run, this mode runs the hook ‘emacspeak-maths-spoken-mode-hook’, as
the final or penultimate step during initialization.

12.127.3.13 emacspeak-maths-start

Command: emacspeak-maths-start
Start Maths server bridge.

12.127.3.14 emacspeak-maths-switch-to-output

Command: emacspeak-maths-switch-to-output
Switch to output buffer.

12.127.3.15 emacspeak-maths-up

Command: emacspeak-maths-up
Move up in current Math expression. (auto-generated)