Controlador de IBMTTS, complemento para NVDA

Este complemento implementa la compatibilidad de NVDA con el sintetizador IBMTTS. No podemos distribuir las librerías de IBMTTS. Esto es únicamente el controlador. Si deseas contribuir a mejorar este controlador ¡siéntete libre de enviarnos tus pull requests a través de GitHub!

Aunque este driver es compatible con librerías de Eloquence debido a que Eloquence posee la misma api que IBMTTS, no se recomienda usar Eloquence con este controlador debido a problemas de licencias. Antes de usar cualquier librería de síntesis con este controlador, se recomienda obtener los derechos de uso primero.

Este controlador fue desarrollado con la documentación disponible para IBMTTS, disponible públicamente en la web. Ver la sección referencias para más detalles.

Descarga.

La última versión está disponible para descargar en este enlace

¿Qué es el sintetizador IBMTTS?

ViaVoice TTS es un motor de texto a voz desarrollado por IBM, que sintetiza la representación textual del lenguaje humano en voz.

Características y configuraciones.

Configuraciones extra:

Categoría de configuraciones IBMTTS.

Este complemento tiene su propia categoría de configuraciones dentro de las opciones de NVDA, para gestionar algunas funcionalidades internas no relacionadas con la síntesis de voz.

Nota: La funcionalidad de actualización automática o manual no borrará los archivos internos del complemento. Si mantienes tus librerías en ese lugar, puedes usar esta función con seguridad. Tus librerías estarán a salvo.

requisitos.

NVDA.

Necesitas NVDA 2019.3 o posterior.

Las librerías del sintetizador IBMTTS.

Esto es solo el controlador, debes buscar las librerías en otro lugar.
El controlador soporta las librerías ligeramente más recientes que añaden el soporte del idioma este-asiático, y tiene correcciones específicas para la codificación adecuada del texto. Sin embargo, las librerías más antiguas sin esto deberían funcionar.
A partir de la versión 21.03A1, el controlador también funciona con las librerías aún más nuevas de IBM, en lugar de solo las de SpeechWorks. Se incluye un conjunto de correcciones independientes para esas librerías, y se tienen en cuenta los idiomas adicionales y otras diferencias. Las voces concatenadas son compatibles y se puede acceder a ellas configurando la frecuencia de muestreo en 8 kHz después de instalar las voces. Para obtener mejores resultados, utiliza la compilación de junio de 2005 de ibmeci.dll (versión 7.0.0.0) ya que las versiones anteriores pueden ser inestables al recibir texto rápidamente, por ejemplo, al desplazarse rápidamente por los elementos de una lista. También ten en cuenta que si estás utilizando librerías IBMTTS en chino o cantonés de Hong Kong, es posible que desees deshabilitar la opción "Utilizar funcionalidad de deletreo si está soportada", para evitar que algunos caracteres en estos idiomas se deletreen utilizando el pinyin al que se convierten internamente.

Instalación.

Simplemente instálalo como cualquier otro complemento de NVDA. Después abre el diálogo de configuraciones de NVDA, y en la categoría IBMTTS establece la ruta de los archivos de IBMTTS. En esta categoría también puedes copiar los archivos externos de IBMTTS dentro del complemento para ser usado localmente, útil para versiones portables de NVDA.

Contribuyendo a la traducción.

Para facilitar tu trabajo, he dejado una plantilla de traducción en la rama principal.

Para la documentación, creé un archivo llamado "docChangelog-for-translators.md". puedes usar ese archivo para ver qué se ha cambiado en la documentación y actualizar la documentación de tu idioma.

Si quieres traducir este complemento a otro idioma y no quieres abrir una cuenta en github o instalar python y otras herramientas necesarias para la traducción, haz los siguientes pasos:

  1. Utiliza esta plantilla, como base para el idioma de destino.
  2. Descarga "poedit," este software te ayudará a gestionar las cadenas de traducción.
  3. Si quieres traducir la documentación también, puedes ver los nuevos cambios de la documentación en este enlace. Puedes ver la documentación completa en inglés aquí.
  4. Una vez que hayas terminado la traducción, puedes enviármela a "dhf360@gmail.com".

No necesitarás compilar los archivos fuente. Lo haré cuando lance una nueva versión del complemento. Mencionaré tu nombre en el respectivo commit. Si no deseas ser mencionado, házmelo saber en el correo electrónico.

Nota: asegúrate de que has utilizado la última plantilla de cadenas de traducción.

Este es un método alternativo. Si quieres, siempre puedes usar la forma habitual. Haz un fork de este repo, actualiza la traducción para el idioma destino, y envía un PR. Pero esta forma sólo añadirá más complejidad para ti.

Empaquetar el complemento para su distribución.

  1. Instala python, actualmente se usa python 3.7, pero puedes usar una versión más reciente si lo deseas.
  2. Instala Gettext, puedes descargar una distribución para windows en este enlace. Si estás usando Windows 64 bits, te recomiendo esta versión.
  3. (paso opcional pero recomendado) crea un entorno virtual de python para administrar los complementos de NVDA. En la consola, usa "python -m venv PAT_TO_FOLDER". Donde PAT_TO_FOLDER es la ruta deseada para el entorno virtual.
  4. Si realizaste el paso 2, Ve a PAT_TO_FOLDER y dentro de la carpeta de scripts, ejecuta "activate". El nombre del entorno debe mostrarse en el indicador de la consola.
  5. Clona este repositorio en la ruta deseada: git clone "https://github.com/davidacm/NVDA-IBMTTS-Driver.git".
  6. En la misma instancia de la consola, ve a la carpeta de este repositorio.
  7. Instala los requisitos: "pip install -r requirements.txt".
  8. Ejecuta el comando scons. El complemento creado, si no hubo errores, se coloca en el directorio raíz de este repositorio.

Una vez que cierras la consola, el entorno virtual se desactiva.

Empaquetar las librerías como un complemento independiente.

No se recomienda incluir las librerías con este controlador. Es porque si el usuario actualiza el driver desde el repo oficial, usando el instalador de complementos de NVDA, la versión antigua será eliminada incluyendo las librerías. Una solución para esto, es instalar las librerías en un complemento separado. Sigue este enlace para saber cómo empaquetar las bibliotecas en un complemento separado.

Notas:

Reporte de problemas.

Si encuentras un problema de seguridad con algunas de las bibliotecas compatibles con este controlador, no abras un problema de github ni lo comentes en los foros antes de que se resuelva el problema. Informa el problema en este formulario.

Si el problema no perjudica el controlador o el lector de pantallas, abre un problema de github aquí.

Referencias.

Este controlador está basado en el SDK de Viavoice de IBM (IBMTTS) la documentación está disponible en este enlace

también en la universidad Columbia en este enlace

o puedes encontrar una copia en este repositorio

pyibmtts: envoltorio de Python para IBM TTS desarrollado por Peter Parente

Consulta los archivos de respaldo aquí:

tts.pdf

o tts.txt.