Sur cette page

Qt TextToSpeech Les moteurs

Qt TextToSpeech prend en charge plusieurs implémentations de moteurs pour différentes plateformes, présentant des compromis variés entre fonctionnalités, disponibilité et coût d'exécution.

Un moteur peut être sélectionné lors de la construction d’une instance d’ QTextToSpeech, ou sur un objet déjà instancié en définissant la propriété engine. Si aucun moteur n’est spécifié, le moteur préféré pour la plateforme actuelle sera utilisé. Appelez la méthode ` availableEngines()` pour obtenir la liste des moteurs pouvant être utilisés sur le système actuel. Cette liste inclut un moteur « factice » utilisé à des fins de test, qui ne doit pas être déployé sur les systèmes cibles.

Lors de la configuration du moteur, les applications peuvent lui transmettre un objet ` QVariantMap ` contenant des paires clé/valeur correspondant à des paramètres spécifiques au moteur. Les sections suivantes répertorient les paramètres de configuration pris en charge par chaque moteur. Les paramètres non pris en charge par le moteur seront ignorés sans message d’erreur.

WinRT

Le moteur « winrt » utilise les API de l’espace de noms Windows.Media.SpeechSynthesis. Il nécessite un SDK Windows récent et n’est pas disponible lors de l’utilisation du compilateur MinGW. Le moteur donne accès à toutes les voix disponibles à l’installation sur les versions actuelles de Windows.

L’implémentation utilise la méthode ` QAudioSink ` de Qt Multimedia pour lire le flux de données PCM généré par le synthétiseur sur un périphérique audio.

NomTypeRemarques
audioDeviceQAudioDevice

SAPI

Le moteur « sapi » utilise le framework SAPI 5.3 inclus dans le SDK Windows. Il propose une sélection limitée de voix, dont la qualité est inférieure à celle du moteur « winrt ».

Le moteur SAPI ne prend en charge aucun paramètre spécifique au moteur.

Darwin

Le moteur « darwin » utilise le framework AVFoundation, disponible sur les appareils iOS et sous macOS 10.15. La documentation du framework indique également une prise en charge de macOS 10.14, mais par défaut, aucune voix n'est disponible sur cette plateforme.

Le moteur Darwin ne prend en charge aucun paramètre spécifique au moteur.

Android

Le moteur « android » est le seul moteur disponible sur la plateforme Android. Il utilise le package TextToSpeech, qui prend lui-même en charge plusieurs backends de moteur.

Remarque : le moteur « android » ne dispose pas de la fonctionnalité « PauseResume ».

NomTypeRemarques
androidEngineQStringIl n'existe pas d'API dans Qt permettant d'obtenir la liste des moteurs installés.

HarmonyOS

Le moteur HarmonyOS utilise les API de synthèse vocale du Core Speech Kit. Le moteur système synthétise et reproduit la parole.

Le moteur Core Speech Kit est créé pour une langue fixe, que le plugin définit sur « zh-CN ». Comme indiqué dans la documentation de la fonction createEngine(), seules le chinois et l’anglais sont pris en charge, avec « zh-CN » recommandé pour le chinois et « en-US » pour l’anglais.

Remarque : le moteur HarmonyOS ne dispose que de la fonctionnalité « Speak ». Il ne prend en charge ni « PauseResume », ni « WordByWordProgress », ni « Synthesize ».

Flite

Le moteur « flite » utilise le synthétiseur flite. Son faible encombrement le rend particulièrement utile pour les environnements embarqués. Le plugin nécessite au minimum la version 2.2 de Flite et utilise la fonction « QAudioSink » de Qt Multimedia pour restituer le flux de données PCM généré.

Le plugin du moteur recherche les bibliothèques vocales dans les répertoires indiqués par la variable d’environnement LD_LIBRARY_PATH et, à défaut, effectue une recherche dans les emplacements courants de bibliothèques tels que /usr/lib, /usr/lib64 et /usr/lib/x86_64-linux-gnu.

Si Flite est utilisé en tant que bibliothèque statique, les bibliothèques vocales souhaitées doivent également être liées statiquement au plugin du moteur. Il n’existe actuellement aucune API du système de compilation implémentée pour sélectionner ces bibliothèques vocales lors de la configuration de Qt.

NomTypeRemarques
audioDeviceQAudioDevice

speech-dispatcher

Le moteur « speechd » communique avec le démon speech-dispatcher et nécessite au minimum la version 0.9 de libspeechd.

Remarque : le moteur speech-dispatcher ne dispose pas des capacités « WordByWordProgress » ni « Synthesize ».

Le moteur speech-dispatcher ne prend en charge aucun paramètre spécifique au moteur.

© 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.