IBMTTS SUPERADDON 26.7.19 PARA NVDA VERSIÓN DE PRUEBA =================================== URL DE DESCARGA: https://xebolax.synology.me/wftp/MisCodigos/IBMTTS-SuperAddon.zip ____________________________________________________________ IMPORTANTE ---------- Esta es una versión de prueba del complemento IBMTTS para NVDA. No debe considerarse todavía una versión estable o definitiva. El archivo descargado se llama: IBMTTS-SuperAddon.zip Este archivo contiene el repositorio completo del proyecto, no solamente el instalador. Se entrega todo el código fuente para que pueda revisarse, estudiarse, modificarse y volver a compilarse. Dentro del repositorio incluido en el ZIP se encuentran, entre otros archivos: - IBMTTS-26.7.19.nvda-addon: el complemento listo para instalar en NVDA. - INFORME_IBMTTS_SUPERADDON.md: informe técnico completo de todo el trabajo. - addon: código y recursos que se instalan en NVDA. - bridgeSource: código fuente del puente de 32 bits. - apiReference: documentación de la API de IBM TTS utilizada durante el trabajo. - issues_exportadas: incidencias analizadas. - tests: pruebas automáticas. - IBMTTS.pot y locale: plantillas y traducciones del complemento. El ZIP no se instala directamente en NVDA. Hay que descomprimirlo primero. Dentro del directorio descomprimido se encuentra el complemento instalable: IBMTTS-26.7.19.nvda-addon INSTRUCCIONES DE INSTALACIÓN ---------------------------- 1. Descarga el archivo IBMTTS-SuperAddon.zip. 2. Descomprime completamente el archivo ZIP en una carpeta. 3. Abre la carpeta IBMTTS-SuperAddon resultante. 4. Dentro encontrarás todo el repositorio, el informe técnico INFORME_IBMTTS_SUPERADDON.md y el complemento instalable. 5. Localiza el archivo IBMTTS-26.7.19.nvda-addon. 6. Pulsa Intro o haz doble clic sobre el archivo .nvda-addon. 7. Confirma la instalación cuando NVDA lo solicite. 8. Reinicia NVDA completamente para cargar el complemento y sus traducciones. 9. Selecciona IBMTTS como sintetizador desde las opciones de voz de NVDA. Si ya existe otra versión de IBMTTS, NVDA puede pedir permiso para actualizarla. Es recomendable guardar antes una copia de la configuración y de los diccionarios personalizados. También se ha detectado que algunos equipos tienen instalado simultáneamente otro complemento llamado IBMTTS64. Los dos publican módulos internos con nombres parecidos. Para realizar una prueba limpia, se recomienda desactivar temporalmente otros complementos de IBM TTS y reiniciar NVDA. OBJETIVO DE ESTA VERSIÓN ------------------------ Esta versión experimental revisa y amplía profundamente el complemento IBMTTS. Se ha estudiado la referencia de la API de IBM TTS, el código del complemento, las incidencias exportadas y el código fuente de NVDA. El objetivo principal es conseguir un funcionamiento más resistente, recuperar características de la API que no estaban disponibles desde la interfaz y evitar errores que podían dejar a NVDA sin voz o hacer que cambiase a las voces de Windows. PRINCIPALES ERRORES CORREGIDOS ------------------------------ 1. Lectura de textos muy grandes Se ha creado una ruta especial para documentos extensos. El texto se divide en bloques seguros y su preparación se realiza sin bloquear el hilo principal de NVDA. Antes, al abrir o leer archivos con decenas de miles o más de cien mil caracteres, IBMTTS podía atascarse, fallar o provocar que NVDA terminase utilizando las voces OneCore de Windows. La nueva ruta mantiene IBMTTS activo y permite procesar textos muy grandes de forma controlada. Los textos breves de la interfaz siguen utilizando la ruta original y rápida del controlador. La protección especial solo se utiliza cuando el texto supera los 3.200 caracteres. 2. Información de foco que llegaba a NVDA pero no se pronunciaba Se corrigió la entrega de índices ECI a NVDA. En determinadas cancelaciones o cambios rápidos de foco, la información aparecía en el visualizador de voz pero IBMTTS no llegaba a pronunciarla. Esto afectaba, entre otras situaciones, a: - La unidad seleccionada al abrir el Explorador de archivos. - Los grupos "Dispositivos y unidades". - Estados como "sin seleccionar". - La pestaña enfocada al recorrer las opciones de IBMTTS. - Controles y anuncios posteriores a un cambio rápido de ventana. Los índices vuelven a notificarse en el momento correcto y no dependen de que el bloque de audio termine físicamente sin ser cancelado. 3. Recuperación y cancelación del motor Se reforzó la recuperación del estado conocido del motor: parámetros de síntesis, voz, diccionario, audio pendiente e índices. También se añadió una herramienta para recuperar manualmente el motor activo desde el panel de IBMTTS. 4. Valores antiguos o dañados en la configuración Se añadieron conversiones y límites seguros para configuraciones antiguas, por ejemplo valores True o False guardados en opciones que ahora utilizan números. Un valor antiguo ya no debería impedir que IBMTTS arranque. 5. Ráfagas de anuncios repetidos Después de una congelación de una aplicación, NVDA podía acumular muchas copias idénticas de palabras como "botón" y reproducirlas de golpe al recuperarse. Se añadió una compactación conservadora que solo actúa cuando existe una cola anormalmente grande. Los anuncios normales y las primeras repeticiones se conservan. 6. Ruido innecesario en el registro Los mensajes de diagnóstico de documentos grandes se movieron del nivel INFO al nivel DEBUG. Una lectura correcta de un archivo grande ya no llena el registro normal de NVDA con mensajes de encolado, comienzo y final. 7. Compatibilidad con NVDA 2026.1.1 Se eliminó una dependencia del módulo Python "secrets", que no está incluido en la distribución congelada de NVDA 2026.1.1. El complemento puede volver a cargar tanto el sintetizador como su panel de opciones. 8. Instalación desde archivos .nvda-addon Se corrigió la importación de las traducciones durante la fase pendingInstall de NVDA. La misma versión funciona tanto durante la instalación como después de reiniciar NVDA. NUEVAS FUNCIONES Y HERRAMIENTAS ------------------------------- 1. Panel de IBMTTS organizado por pestañas El panel del complemento dentro de las opciones de NVDA está organizado en: - General. - Biblioteca. - Diccionarios. - Voces personalizadas. - Herramientas y diagnóstico. 2. Gestor de diccionarios IBM TTS Permite trabajar con los diccionarios compatibles con la biblioteca cargada: - Diccionario principal. - Diccionario de raíces. - Diccionario de abreviaturas. - Buscar claves. - Añadir, editar y borrar entradas. - Recorrer diccionarios por páginas. - Importar y exportar volúmenes de diccionario. Las operaciones disponibles dependen de las funciones que proporcione cada DLL de IBM TTS. 3. Voces personalizadas Se pueden crear definiciones persistentes para las ranuras de usuario 9 a 16. Cada voz puede partir de una voz base y modificar: - Género. - Tamaño de cabeza. - Tono. - Inflexión. - Aspereza. - Respiración. - Velocidad. - Volumen. Las voces guardadas aparecen como variantes en las opciones de voz de NVDA. 4. Prueba de voces sin guardar La pestaña Voces personalizadas incluye un botón para probar los controles actuales antes de guardar la definición. La prueba utiliza otra instancia de IBM TTS. No cambia temporalmente la voz activa, la velocidad ni la cola de voz que está utilizando NVDA. 5. Grabador WAV de IBMTTS Desde Herramientas y diagnóstico se puede abrir un grabador WAV que permite: - Escribir el texto que se quiere sintetizar. - Cargar texto desde archivos TXT, Markdown, JSON o LOG. - Usar la configuración activa de IBMTTS. - Elegir una de las ocho voces base. - Elegir una voz personalizada guardada. - Seleccionar el archivo WAV de destino. - Probar cómo sonará antes de exportarlo. - Consultar el progreso por bloques. - Cancelar la síntesis. El audio se genera como PCM mono de 16 bits y conserva la frecuencia activa de 8.000, 11.025 o 22.050 Hz. El grabador utiliza un proceso host, una tubería, memoria compartida y un manejador ECI independientes. La exportación no sustituye ni modifica el sintetizador activo de NVDA. 6. Diagnóstico del motor El informe de diagnóstico muestra información como: - Versión del motor. - Idiomas disponibles. - Idioma activo. - Frecuencia de muestreo. - Modos de números y deletreo. - Estado del motor. - Último índice ECI. - Capacidades opcionales de la DLL. - Nombres de las voces cuando la biblioteca los admite. 7. Nuevas opciones del sintetizador Se incorporaron y validaron opciones relacionadas con la API, entre ellas: - Frecuencia de muestreo. - Lectura de números de cuatro cifras. - Modo de deletreo. - Expansión de abreviaturas. - Predicción de frases. - Modos de pausa. - Envío de parámetros actuales de voz. - Etiquetas de voz mediante acento grave. TRADUCCIÓN AL ESPAÑOL --------------------- El código fuente conserva las cadenas originales en inglés y la traducción se encuentra en: addon\locale\es\LC_MESSAGES\nvda.po Se regeneró el archivo POT desde todo el código actual y se compilaron las traducciones. El catálogo español contiene 232 de 232 cadenas traducidas, sin entradas vacías ni difusas. Los módulos de la interfaz cargan explícitamente el catálogo perteneciente a este complemento para evitar conflictos con otros complementos IBM TTS instalados. PUENTE PARA NVDA DE 64 BITS --------------------------- El complemento incluye el puente ibmtts_host32.dll utilizado para comunicar NVDA de 64 bits con bibliotecas ECI de 32 bits. Se añadieron identificadores privados para las instancias auxiliares, nombres independientes de tubería y memoria compartida, serialización de llamadas y limpieza del proceso incluso cuando se produce un fallo durante la inicialización. El código fuente del puente también se conserva en el directorio bridgeSource para que la compilación sea reproducible. PRUEBAS REALIZADAS ------------------ - 44 pruebas automáticas superadas. - Revisión estática con Ruff sin errores. - Catálogo español compilado y comprobado. - Manifiesto interno verificado como versión 26.7.19. - Paquete revisado para evitar archivos .pyc y directorios __pycache__. - Verificación del puente, protocolo, índices, configuración, documentos largos, compactación de repeticiones y traducciones. LIMITACIONES Y AVISO DE PRUEBA ------------------------------ Este complemento depende de la versión y distribución concreta de la biblioteca IBM TTS o Eloquence instalada. Algunas DLL no implementan todas las funciones opcionales descritas por la API. El atasco de una aplicación concreta, por ejemplo Notepad++, puede originarse en la accesibilidad UIA o IA2 de la propia aplicación. El complemento evita que el procesamiento de documentos grandes bloquee innecesariamente IBMTTS, pero no puede corregir todos los errores internos de aplicaciones externas. Si aparece un problema: 1. Reinicia NVDA. 2. Comprueba que IBMTTS sea el sintetizador activo. 3. Prueba temporalmente con otros complementos IBM TTS desactivados. 4. Reproduce el problema con el nivel de registro adecuado. 5. Conserva el registro completo de NVDA y describe los pasos exactos. Al ser una versión de prueba, debe utilizarse con precaución y no se garantiza que funcione con todas las variantes de IBM TTS, Eloquence, NVDA o Windows. ARCHIVOS PRINCIPALES INCLUIDOS ------------------------------ - IBMTTS-26.7.19.nvda-addon: complemento instalable. - addon: código y recursos que se instalan en NVDA. - bridgeSource: código fuente reproducible del puente de 32 bits. - apiReference: documentación de la API de IBM TTS analizada. - issues_exportadas: incidencias utilizadas durante la revisión. - tests: pruebas automáticas del complemento. - INFORME_IBMTTS_SUPERADDON.md: informe técnico detallado. INTEGRIDAD DE LOS ARCHIVOS -------------------------- SHA-256 de IBMTTS-SuperAddon.zip: 3A157095275F8F9141DD9444A246107EB553F0C18941A9FD5EB5A14113B4DB91 SHA-256 de IBMTTS-26.7.19.nvda-addon: 9C66D0CE94C6FE1903A1DA8A58F011CA925ADBD28C9418A052892235DAFE9C83 Si el ZIP se vuelve a comprimir o el complemento se vuelve a empaquetar, estos valores cambiarán aunque el contenido funcional sea equivalente. RESUMEN ------- IBMTTS SuperAddon 26.7.19 es una versión de prueba centrada en mejorar la estabilidad, conservar la voz de IBMTTS al trabajar con textos muy grandes, recuperar anuncios de foco que antes podían quedar sin pronunciar, añadir gestión de diccionarios y voces, ofrecer un grabador WAV aislado y ampliar el acceso a la API de IBM TTS desde NVDA.