MathCAT

  • Autore: Neil Soiffer
  • Compatibilità NVDA: 2018.1 o successiva (non testata nelle versioni precedenti)
  • Scarica versione stabile

MathCAT è stato progettato per sostituire in futuro MathPlayer, poiché MathPlayer non è più supportato. MathCAT genera parlato e braille a partire da MathML. Il parlato per la matematica prodotto da MathCAT è migliorato con la prosodia, in modo che suoni più naturale. Il contenuto può essere esplorato in tre modalità utilizzando gli stessi comandi di MathPlayer. Inoltre, il nodo di navigazione viene indicato su un display braille. Sono supportati sia Nemeth che UEB tecnici.

MathCAT has a number of configuration options that control speech, navigation, and braille. Many of these can be set in the MathCAT settings dialog (found NVDA Preferences menu). For more information on these settings, see the MathCAT documentation. The documentation includes a link to a table listing all of the navigation commands in MathCAT.

Note: MathCAT is a general library for generating speech and braille from MathML. It is used by other AT projects besides NVDA. For information on the MathCAT project in general, see the main MathCAT Documentation page.

Chi dovrebbe usare MathCAT:

  • Coloro che hanno bisogno di Nemeth braille di alta qualità (Nemeth di MathPlayer è basato sulla generazione Nemeth di liblouis che ha una serie di bug significativi che sono tecnicamente difficili da correggere).
  • Coloro che hanno bisogno del braille tecnico UEB
  • Coloro che vogliono provare la tecnologia più recente e sono disposti ad aiutare segnalando bug
  • Coloro che usano come voce Eloquence

Chi NON dovrebbe usare MathCAT:

  • Anyone who uses MathPlayer with a non-English language (translations exist for Indonesian and Vietnamese; translations will be coming in the future)
  • Chiunque usi MathPlayer con un output braille non Nemeth/non UEB (contattami se vuoi aiutarmi con una traduzione braille)
  • Chiunque preferisca Access8Math a MathPlayer (per la voce o altre funzionalità)

MathCAT ha meno regole per il parlato rispetto a MathPlayer, il che potrebbe essere un altro motivo per continuare a usare MathPlayer. MathCAT viene utilizzato come banco di prova per idee per MathML 4 che consentono agli autori di esprimere il loro intento in modo che le notazioni ambigue possano essere pronunciate correttamente e non indovinate. Mi sono trattenuto dall'aggiungere troppe regole poiché l'architettura di MathCAT è incentrata sull'uso e sull'inferenza dell'intento dell'autore e queste non sono ancora state completamente stabilite.

MathCAT Update Log

Version 0.5.0

  • Added German LaTeX braille code. Unlike other braille codes, this generates ASCII chars and uses the current braille output table to translate the characters to braille.
  • Added (expermental) ASCIIMath braille code. Like the LaTeX braille code, this generates ASCII chars and uses the current braille output table to translate the characters to braille.
  • Added "CopyAs" preference that supports copying as MathML, LaTeX, or ASCIIMath using cntl+C when focused on MathML (as before). The currently focused node is copied. Note: this is only listed in the prefs.yaml file and is not exposed (yet) in the MathCAT Preferences dialog.

Version 0.4.2

  • Fixed language switching when voice changes and MathCAT language is "Auto"
  • Added more checks for $Impairments to improve reading when it is not set for those who are blind
  • Nemeth: fix for "~" when it isn't part of an mrow
  • UEB: character additions, "~" spacing fix if prefix, xor fix,
  • MathML cleanup for accented vowels (mainly for Vietnamese)
  • Major rewrite of preference reading/updating code with big speedup -- added CheckRuleFiles pref to control which files are checked for updates
  • Added two new interface calls -- enables setting the navigaton location from the braille cursor (not part of MathCAT addon yet)

Version 0.3.11

  • Upgraded to python 3.11 and verified working with NVDA 2024.1
  • Fix bugs in Vietnamese braille and also in Speech, mostly for chemistry.
  • Fix broken braille when braille code and dependent language don't match (specifically Vietnam braille and Vietnamese speech)
  • Fix whitespace bug in HTML inside of tokens
  • Improve roman numeral detection

Version 0.3.9

  • Added Traditional Chinese translation (thanks to Hon-Jang Yang)
  • Fixed bug with navigating into the base of a scripted expression that has parenthesis
  • Significantly changed the way whitespace is handled. This mainly affects braille output (spaces and "omission" detection).
  • Improved recognition of chemistry
  • UEB braille fixes that came up from adding chemistry examples
  • UEB fixes for adding auxillary parenthesis in some cases

Version 0.3.8

Braille:

  • Dialog has been internationalized for several languages (many thanks to the translators!)
  • Initial implementation of CMU -- the braille code used in Spanish and Portuguese speaking countries
  • Fix some UEB bugs and added some characters for UEB
  • Significant improvements to Vietnamese braille

Other fixes:

  • Change relative rate dialog slider to have a maximum value of 100% (now only allows setting slower rates). Also, added step sizes so it is easier to raise/lower the rate significantly.
  • Fix eSpeak bug that sometimes cut off speech when the relative rate was changed
  • Improvements to Vietnamese speech
  • Fixed bug with OneCore voices saying "a"
  • Fixed some navigation bugs when AutoZoomOut is False (not the default)
  • Fix updating around language changes and some other dialog changes so they take effect immediately upon clicking "Apply" or "OK".
  • Added an "Use Voice's Language" option so that out of the box, MathCAT will speak in the right language (if there is a translation)
  • Several improvements for cleaning up poor MathML code

Version 0.3.3

This release has a number of bug fixes in it. The major new features and bug fixes are:

  • Added Spanish Translation (thanks to Noelia Ruiz and María Allo Roldán)
  • Modified navigation so that it starts zoomed in one level
  • Added cntrl+alt+arrow as a way to navigate tabular structures. These keys should be more memorable because they are used for table navigation in NVDA.
  • Worked around NVDA bug for eSpeak voices that caused them to slow down when the relative MathRate was set to be slower than the text speech rate.
  • Worked around a OneCore voice problem so that they will speak the long 'a' sound.

There are lots of small tweaks to the speech and some bug fixes for both Nemeth and UEB.

Note: there is now an option to get Vietnam's braille standard as braille output. This is still a work in progress and is too buggy to be used other than for testing. I expect the next MathCAT release will contain a reliable implementation.

Version 0.2.5

  • More improvements chemistry
  • Fixes for Nemeth:

    • Added "omission" rules
    • Added some rules for English Language Indicators
    • Added more cases where the Mulitpurpose indicator is needed
    • Fixes related to Nemeth and punctuation

Version 0.2

  • Lots of bug fixes
  • Improvements to speech
  • A preference setting to control the duration of pausing (works with changes to relative speech rate for math)
  • Support to recognize chemistry notation and speak it appropriately
  • Translations to Indonesian and Vietnamese