Qt TextToSpeech Motores
Qt TextToSpeech soporta varias implementaciones de motores para diferentes plataformas, y con diferentes compensaciones entre capacidades, disponibilidad y coste de ejecución.
Se puede seleccionar un motor cuando se construye una instancia de QTextToSpeech, o en un objeto ya instanciado estableciendo la propiedad engine. Si no se especifica ningún motor, se utilizará el motor preferido para la plataforma actual. Llame a availableEngines() para obtener la lista de motores que se pueden utilizar en el sistema actual. Esto incluirá un motor "ficticio" que se utiliza para pruebas y que no debe desplegarse en los sistemas de destino.
Al configurar el motor, las aplicaciones pueden pasarle un QVariantMap con pares clave/valor de parámetros específicos del motor. En las secciones siguientes se enumeran los parámetros de configuración admitidos para cada motor. Los parámetros no admitidos por el motor se ignorarán silenciosamente.
WinRT
El motor "winrt" utiliza las API del espacio de nombres Windows.Media.SpeechSynthesis. Requiere un SDK de Windows reciente, y no está disponible cuando se utiliza el compilador MinGW. El motor proporciona acceso a todas las voces disponibles para su instalación en las versiones actuales de Windows.
La implementación utiliza QAudioSink de Qt Multimedia para reproducir el flujo de datos PCM generado por el sintetizador en un dispositivo de audio.
| Nombre | Tipo | Observaciones |
|---|---|---|
| audioDevice | QAudioDevice |
SAPI
El motor "sapi" utiliza el framework SAPI 5.3 incluido en el SDK de Windows. Ofrece una selección limitada de voces, con una calidad reducida en comparación con el motor "winrt".
El motor SAPI no admite ningún parámetro específico del motor.
Darwin
El motor "darwin" utiliza el framework AVFoundation que está disponible en dispositivos iOS y en macOS 10.15. La documentación del framework indica que también es compatible con macOS 10.14, pero por defecto no hay voces disponibles en esa plataforma.
El motor Darwin no admite ningún parámetro específico del motor.
Android
El motor "android" es el único disponible en la plataforma Android. Utiliza el paquete TextToSpeech, que a su vez admite varios motores.
Nota: El motor "android" no tiene la capacidad PauseResume.
| Nombre | Tipo | Observaciones |
|---|---|---|
| androidEngine | QString | No hay API en Qt para obtener la lista de motores instalados. |
Flite
El motor "flite" utiliza el sintetizador flite. El pequeño tamaño del motor lo hace particularmente útil para entornos embebidos. El plugin requiere al menos Flite 2.2, y utiliza QAudioSink de Qt Multimedia para renderizar el flujo de datos PCM generado.
El plugin del motor busca las librerías de voz en los directorios listados en la variable de entorno LD_LIBRARY_PATH, y retrocede para buscar en ubicaciones de librerías comunes como /usr/lib, /usr/lib64, y /usr/lib/x86_64-linux-gnu.
Si Flite se utiliza como una librería estática, entonces las librerías de voz deseadas también necesitan estar enlazadas estáticamente en el plugin del motor. Actualmente no existe una API del sistema de compilación implementada para seleccionar dichas bibliotecas de voz al configurar Qt.
| Nombre | Tipo | Observaciones |
|---|---|---|
| audioDevice | QAudioDevice |
speech-dispatcher
El motor "speechd" se comunica con el demonio speech-dispatcher, y requiere al menos libspeechd 0.9.
Nota: El motor "speech-dispatcher" no tiene las capacidades WordByWordProgress o Synthesize.
El motor speech-dispatcher no soporta ningún parámetro específico del motor.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.