MathCAT

  • Autor: Neil Soiffer
  • Compatibilidad con NVDA: 2018.1 o posterior (no probado en versiones anteriores)
  • Descargar versión estable

MathCat está diseñado para sustituir eventualmente a MathPlayer, ya que este último ya no está soportado. MathCat genera voz y braille desde MathML. La voz producida por MathCat para las matemáticas se mejora con entonación para que suene más natural. Se puede navegar por la voz con tres modos usando las mismas órdenes que en MathPlayer. Además, el nodo de navegación se indica en la pantalla Braille. Se soportan tanto Nemeth como UEB técnico.

MathCat tiene varias opciones de configuración que controlan la voz, la navegación y el braille. Muchas de ellas pueden configurarse en el diálogo de opciones de MathCat (en el menú Preferencias de NVDA). Para más información sobre estos ajustes, consulta la documentación de MathCat. La documentación incluye un enlace a una tabla que enumera todas las órdenes de navegación de MathCat.

Nota: MathCat es una biblioteca general para generar voz y braille a partir de MathML. Es usada por otros proyectos de tecnologías de asistencia además de NVDA. Para información general sobre el proyecto MathCat, consulta la página principal de documentación de MathCat.

Quién debería usar MathCat:

  • Quien necesite Braille Nemeth de alta calidad (el Nemeth de MathPlayer se basa en la generación Nemeth de Liblouis, que tiene una importante cantidad de fallos técnicamente complicados de corregir).
  • Aquellos que necesiten braille técnico UEB, CMU (español/portugués), LaTeX alemán, ASCIIMath, o braille vietnamita
  • Quien quiera probar nuevas tecnologías y esté dispuesto a ayudar informando de fallos
  • Quien use Eloquence como voz

Quién no debería usar MathCat:

  • Cualquiera que use Math Player en idiomas distintos al inglés (existen traducciones a chino (tradicional), indonesio, vietnamita y español; las traducciones se irán haciendo en el futuro) y no se sienten cómodos con la voz en uno de los idiomas soportados.
  • Cualquiera que prefiera Access8Math a MathPlayer (por la voz u otras funciones)

Las reglas del habla de MathCat no son todavía tan extensas como las de MathPlayer -- esa puede ser otra razón para seguir con MathPlayer. MathCat se está usando como un banco de pruebas para MathML 4, que permite a los autores expresar su intención de tal forma que las notaciones ambiguas se verbalicen correctamente sin tener que adivinarlas. Me he esperado antes de añadir muchas reglas, ya que la arquitectura de MathCat se centra en usar e inferir la intención del autor, y esto aún no está completamente establecido.

Registro de actualización de MathCat

Versión 0.6.3

  • Todos los archivos de idioma y reglas braille se comprimen por carpeta y se descomprimen a petición.

    • Se ahorran unos 5 mb cuando rules.zip está descomprimido, y ahorrará aún más según se añadan más idiomas y códigos braille.
    • Esto se hace como preparación para incluir MathCat en NVDA 2024.3
  • Se añade una nueva preferencia de "separador decimal".

    • El valor por defecto es Automático, siendo otros valores ".", ",", y "personalizado". Los primeros tres valores establecen DecimalSeparators y BlockSeparators.
    • Automático establece estas preferencias en función de la preferencia language. En algunos idiomas, como el español, se usa ',' en algunos países y '.' en otros. En este caso, es mejor configurar el idioma para que incluya también el código del país (por ejemplo, es-es or es-mx) para garantizar que se usa el valor correcto.
  • Se añade el sueco a los idiomas soportados.

  • Se añaden más caracteres Unicode para incluir todos los caracteres Unicode marcados como "Sm" y aquellos con una mathclass (excepto las clases Alphabetic y Glyph) en el estándar Unicode.
  • Tras cambiar el funcionamiento de las preferencias en una versión anterior, olvidé cambiar MathRate y PauseFactor para que sean números en vez de cadenas.
  • Corregido un fallo en las reglas braille (un cambio anterior que se perdió) por el que se debería haber dado un tercer argumento para decir que se mire en los archivos definitions.yaml Braille y no en los de voz al buscar el valor de una definición.
  • Se limpia el uso de definitions.yaml.
  • Se corrigen algunos fallos en la limpieza de MathML para los separadores decimales ",".
  • Se ha encontrado un fallo en el resaltado braille cuando no hay nada resaltado (tal vez nunca se dio, ¿por eso no lo vi en la práctica?)
  • Corregido el modo "describir" para que funcione. Todavía está al mínimo y probablemente aún no es útil
  • Se corrige la versión mínima soportada

Versión 0.5.6

  • Se ha añadido Copiar como... al diálogo de MathCat (en el panel "Navegación")
  • Se corrige un fallo por el que el idioma volvía a ser inglés al cambiar los estilos de habla.
  • Se corrige un fallo con la navegación y el braille
  • Se corrigen algunos problemas de espaciado de Asciimath.
  • Mejorado el reconocimiento de química
  • Se actualiza MathCat a la nueva especificación química BANA Nemeth (todavía sólo una sola línea y no se manejan los casos especiales de cambio de estilo/fuente)
  • Se corrige un error fatal cuando se usan dígitos no ASCII en números (por ejemplo, dígitos en negrita)
  • No se usan indicadores de cursiva en los códigos braille cuando se usan los caracteres de cursiva alfanuméricos de matemáticas
  • Algunas pequeñas correcciones de las que no informaron los usuarios

Versión 0.5.0

  • Se añade código braille LaTeX en alemán. Al contrario que otros códigos braille, este genera caracteres ASCII y usa la tabla de salida braille actual para transcribirlos.
  • Se añade código braille ASCIIMath (experimental). Al igual que el código braille LaTeX, genera caracteres ASCII y usa la tabla braille de salida actual para transcribirlos.
  • Se añade la preferencia "CopyAs", que soporta copiar como MathML, LaTeX o ASCIIMath usando control+c cuando el foco está sobre contenido MathML (como antes). El nodo que tiene el foco se copia. Nota: esto sólo se lista en el archivo prefs.yaml y no se expone en el diálogo de preferencias de MathCat (todavía).

Versión 0.4.2

  • Se corrige el cambio de idioma cuando los cambios de voz y el idioma de MathCat se configuran en "Automático"
  • Se añaden más comprobaciones de impedimentos para mejorar la lectura cuando no está configurada para personas ciegas
  • Nemeth: corrección de "~" cuando no es parte de un mrow
  • UEB: se añaden caracteres, corrección de espaciado en "~", prefijo if, prefijo xor,
  • Limpieza de MathML en vocales acentuadas (principalmente en vietnamita)
  • Reescritura importante del código que lee y actualiza las preferencias con mucha más celeridad. Se añade la preferencia CheckRuleFiles para controlar para qué archivos se buscan actualizaciones
  • Se añaden dos nuevas llamadas de interfaz que permiten configurar la posición de navegación a partir del cursor braille (todavía no forman parte del complemento MathCat)

Versión 0.3.11

  • Se actualiza a Python 3.11 y se comprueba el funcionamiento en NVDA 2024.1
  • Se corrigen fallos en el braille y la voz vietnamitas, en su mayoría de química.
  • Se corrige un fallo en braille cuando el código braille y el idioma dependiente no coinciden (concretamente, braille vietnamita y voz vietnamita)
  • Se corrige un fallo con los espacios en blanco en HTML dentro de los tokens
  • Se mejora la detección de números romanos

Versión 0.3.9

  • Se añade traducción al chino tradicional (gracias a Hon-Jang Yang)
  • Se corrige un fallo con la navegación en la base de una expresión escrita que tiene paréntesis
  • Ha cambiado significativamente el manejo de los espacios en blanco. Principalmente afecta a la salida braille (espacios y detección de "omisión").
  • Mejorado el reconocimiento de química
  • Correcciones en el braille UEB que aparecieron al añadir ejemplos de química
  • Correcciones en UEB al añadir paréntesis auxiliares en algunos casos

Versión 0.3.8

Braille:

  • Se ha internacionalizado el diálogo en varios idiomas (¡Muchas gracias a los traductores!)
  • Implementación inicial de CMU, código braille usado en los países de habla hispana y portuguesa
  • Se corrigen algunos fallos de UEB y se añaden algunos caracteres para UEB
  • Mejoras importantes al braille vietnamita

Otras correcciones:

  • Se cambia el deslizador del diálogo de velocidad relativa para que tenga un valor máximo del 100% (ahora sólo permite configurar velocidades menores). También se añaden pasos de tamaño para que sea más fácil aumentar o disminuir la velocidad significativamente.
  • Se corrige un problema con Espeak que hacía que la voz se entrecortara al cambiar su velocidad relativa
  • Mejoras en la voz vietnamita
  • Corregido un fallo con las voces OneCore, que decían "a"
  • Se corrigen algunos fallos de navegación cuando AutoZoomOut es falso (no el que hay por defecto)
  • Se corrigen algunos cambios en los diálogos y en el idioma para que tengan efecto inmediato cuando se pulse "Aplicar" o "Aceptar".
  • Se añade una opción "Usar idioma de la voz" para que MathCat hable en el idioma correcto desde el principio (si hay traducción)
  • Varias mejoras al limpiar código MathML pobre

Versión 0.3.3

Esta versión contiene bastantes correcciones de fallos. Las principales funciones nuevas y correcciones son:

  • Se ha añadido traducción al español (gracias a Noelia Ruiz y María Allo Roldán)
  • Se modifica la navegación, de tal forma que ahora comienza ampliada en un nivel
  • Se añade control+alt+flechas como mecanismo para navegar por estructuras tabulares. Estas teclas deberían ser más fáciles de memorizar, ya que se usan para navegar por tablas en NVDA.
  • Corregido un fallo con las voces de Espeak que provocaba que se ralentizaran cuando la velocidad relativa matemática se configuraba para ser más lenta que la velocidad de verbalización del texto.
  • Solucionado un problema con las voces OneCore, que deberían poder verbalizar el sonido de la 'a' larga.

Hay montones de pequeños retoques en la voz y algunos fallos corregidos en Nemeth y UEB.

Nota: ahora hay una opción para obtener braille estándar vietnamita en la salida braille. Este trabajo todavía está en progreso y tiene demasiados fallos como para usarlo para otra cosa que no sean pruebas. Espero que la próxima versión de MathCat contenga una implementación fiable.

Versión 0.2.5

  • Más mejoras en química
  • Correcciones en Nemeth:

    • Añadidas reglas de "omisión"
    • Añadidas algunas reglas para los indicadores en inglés
    • Añadidos más casos donde es necesario el indicador Multipropósito
    • Correcciones relacionadas con Nemeth y la puntuación

Versión 0.2

  • Muchos fallos corregidos
  • Mejoras en la voz
  • Una opción en las preferencias para controlar la duración de las pausas (funciona con los cambios relativos de velocidad de la voz en matemáticas)
  • Soporte para reconocer notación química y verbalizarla adecuadamente
  • Traducciones al indonesio y al vietnamita