Synthèse vocale pour applications mobiles
Altova MobileTogether prend en charge la fonctionnalité de synthèse vocale pour.. Applications mobiles multiplateformes, permettant aux développeurs d'intégrer la reconnaissance vocale et de créer une expérience utilisateur multimédia riche et immersive.
La parole peut être entièrement intégrée au texte, quel que soit l'endroit où il apparaît dans une application. Par exemple, une application comme l'exemple "Parcel Delivery MobileTogether" peut être améliorée en prononçant à voix haute la prochaine adresse de livraison, surtout si le chauffeur est pris dans les embouteillages ! De plus, le texte présent dans les boîtes de message ou dans d'autres blocs d'informations peut également être lu à voix haute par l'appareil mobile.
Nous avons créé une démonstration simple pour tester les fonctionnalités de synthèse vocale pour les applications mobiles, puis nous avons intégré ces fonctionnalités à l'application de livraison de colis.

Cette application de démonstration très simple de synthèse vocale possède quatre fonctionnalités :
- Un champ de saisie permet à l'utilisateur de taper du texte ou de prononcer un texte prédéfini
- Un bouton "Parler" permet de faire entendre le texte saisi
- Le bouton "Silence" arrête la transmission si une personne est en train de parler
- Le bouton "Quitter" affiche une fenêtre de dialogue contenant un message vocal et une option pour fermer l'application
Voici l'application en cours d'exécution sur un appareil Android, avec du texte affiché dans le champ de saisie :

Le texte affiché dans une application peut provenir de diverses sources, notamment du presse-papiers de l'appareil mobile, utilisé pour copier et coller. Sur la capture d'écran ci-dessous, un utilisateur d'iPhone a supprimé le texte par défaut, copié à partir du site web d'Altova, et l'a collé dans le champ de saisie :

La propriété du champ de saisie pour plusieurs lignes est sélectionnée, et la zone de texte s'ajuste automatiquement pour s'adapter au texte collé.
Le texte saisi dans le champ de saisie est stocké dans un élément de l'arborescence des données de l'application. L'action associée au bouton "Parler" déclenche le moteur de synthèse vocale intégré de l'appareil mobile, qui prononce le texte.
Cette action unique, définie dans la fenêtre de dialogue des actions MobileTogether, fonctionne quel que soit le système d'exploitation sur lequel l'application est exécutée, que ce soit Android, iOS, Windows Phone, un ordinateur Windows 10, ou même un navigateur web sur un autre appareil.

Nous avons attribué directement l'action de synthèse vocale aux actions associées au bouton "Parler", mais elle peut également être utilisée dans un groupe d'actions. Nous avons utilisé un groupe d'actions pour le bouton "Quitter". Lorsque l'utilisateur clique sur "Quitter", nous souhaitons à la fois afficher une boîte de dialogue et prononcer le message, comme on peut le voir ici sur un téléphone Android :

Voici les actions définies pour le bouton "Quitter" :

La phrase "Êtes-vous sûr de vouloir quitter cette application ?" est stockée dans l'arborescence des données et utilisée dans les expressions XPath pour l'action de synthèse vocale et pour la boîte de dialogue qui s'affiche en dessous.
Lorsque l'utilisateur clique sur "OK", une action de type "Boucle" attend que la conversion texte-parole soit terminée avant que l'application ne soit fermée.
Mise à jour de l'application de livraison de colis avec une fonctionnalité de synthèse vocale pour les applications mobiles
L'application exemple de livraison de colis a été initialement conçue pour illustrer comment utiliser les données de géolocalisation dans MobileTogether. Dans cette simulation, l'utilisateur est un chauffeur pour une entreprise de livraison, chargé de livrer des colis depuis un entrepôt du New Jersey vers différents endroits de New York.
Chaque fois qu'une nouvelle destination est attribuée, l'application affiche une page de livraison qui indique l'adresse et la distance actuelle jusqu'à la destination, comme on peut le voir sur cette capture d'écran provenant du simulateur MobileTogether pour un téléphone Android :

Nous souhaitons ajouter une fonctionnalité de synthèse vocale qui permettra de lire à voix haute les informations concernant chaque nouvelle destination et distance au fur et à mesure que le conducteur se déplace.
Tout d'abord, nous pouvons ajouter un nouveau paramètre utilisateur sur la page de configuration, avec un interrupteur permettant d'activer ou de désactiver la fonctionnalité de synthèse vocale. Voici la page de configuration mise à jour, affichée sur un iPhone :

En consultant la page de livraison dans l'outil de conception, on peut constater que la destination, la position actuelle et la distance jusqu'à la destination sont toutes issues d'expressions XPath :

Ces mêmes expressions peuvent être attribuées à des actions de synthèse vocale. Nous avons d'abord créé un groupe d'actions pour énoncer chaque nouvelle destination. La zone mise en évidence en bleu ci-dessous montre l'action de synthèse vocale. Nous avons utilisé la fonction "concat" pour ajouter quelques mots supplémentaires afin de former une phrase conversationnelle qui inclut l'adresse et la distance de départ :

Au fur et à mesure que le conducteur se rapproche de sa destination, la géolocalisation est mise à jour périodiquement et la distance restante est recalculée. Nous avons créé un deuxième groupe d'actions pour annoncer la nouvelle distance :

La boucle située en haut est similaire à l'action définie pour le bouton "Quitter" de notre application de démonstration, comme décrit précédemment. Dans ce cas, elle empêche la nouvelle action de synthèse vocale d'interrompre si l'action de synthèse vocale précédente n'est pas terminée. Cela pourrait se produire autrement si une mise à jour de la géolocalisation se produit avant que la vocalisation précédente ne soit achevée.
Nos groupes d'actions de synthèse vocale doivent être appelés pendant l'exécution de l'application. Tout d'abord, nous pouvons placer le groupe "Vocalize Next Destination" dans la séquence des actions "OnPageLoad" pour la page de livraison :

La page de livraison est chargée une seule fois pour la première livraison. Pour les livraisons suivantes, nous pouvons ajouter le groupe d'actions à l'ensemble des actions "Passer à la destination suivante" existant :

Il ne nous reste plus qu'à ajouter le groupe d'actions "Vocalize New Distance" aux actions "OnPageRefresh" de la page de livraison

Que l'application s'exécute dans le simulateur MobileTogether ou sur n'importe quel appareil mobile, le conducteur reçoit des informations vocales et n'a pas besoin de détourner le regard de la route !
Vous pouvez essayer de créer des fonctionnalités de synthèse vocale pour des applications mobiles en téléchargeant gratuitement le logiciel MobileTogether Designer, qui est fourni avec une aide intégrée, des tutoriels et de nombreuses applications exemples, dont une application de livraison de colis.
Les solutions décrites dans cet article peuvent être téléchargées à l'adresse suivante : https://github.com/altova/MobileTogether-TTS
Ouvrez le fichier .mtd souhaité dans l'outil MobileTogether Designer pour examiner sa structure et son fonctionnement, puis exécutez-le dans le simulateur MobileTogether.
Connectez-vous à la boutique d'applications de votre appareil et téléchargez l'application MobileTogether. Ensuite, connectez-vous au serveur de démonstration MobileTogether pour exécuter d'autres applications de démonstration. Une fois l'application MobileTogether installée, vous pouvez également tester la fonctionnalité de synthèse vocale pour les applications mobiles sur votre propre appareil en utilisant MobileTogether Designer comme serveur.