Recommandations en matière de conception de solutions vocales (applications du Windows Phone Store)

Applies to Windows Phone only

Dans Windows Phone, les utilisateurs peuvent interagir avec votre application en utilisant la voix. Vous pouvez intégrer trois composants vocaux à votre application : les commandes vocales, la reconnaissance vocale et la conversion de texte par synthèse vocale (également appelée TTS ou synthèse vocale).

Conçue méthodiquement et implémentée efficacement, la technologie vocale peut être une façon fiable et agréable pour les utilisateurs d’interagir avec votre application Windows Phone, en complément, ou même à la place, de l’interaction par contact, appui et mouvements.

Conception de l’interaction vocale

Avant que vous ne vous lanciez dans le codage d’une application à interaction vocale, nous vous conseillons d’imaginer et de définir l’expérience utilisateur et le flux.

Utilisation de la voix pour entrer dans votre application

Vous pouvez intégrer des commandes vocales à votre application pour permettre aux utilisateurs d’accéder à certaines parties de celle-ci depuis l’extérieur. Par exemple, vous pouvez ajouter des commandes vocales qui accèdent aux sections de votre application les plus fréquemment utilisées ou qui effectuent des tâches importantes.

Interaction vocale dans votre application

Depuis l’application elle-même, les utilisateurs peuvent parler pour fournir des données d’entrée ou accomplir des tâches à l’aide de la reconnaissance vocale. Également depuis l’application, vous pouvez utiliser la conversion de texte par synthèse vocale (TTS), également appelée synthèse vocale, pour prononcer un texte destiné à l’utilisateur par le biais du microphone.

Appuyez-vous sur les questions suivantes pour définir l’interaction vocale qui doit intervenir une fois que l’utilisateur a ouvert votre application (éventuellement au moyen d’une commande vocale) :

  • Quelles actions ou quel comportement de l’application un utilisateur peut-il initier à l’aide de sa voix (par exemple, naviguer parmi les pages, exécuter des commandes ou entrer des données telles que des notes ou des messages) ?
  • Quelles sont les phrases que les utilisateurs sont susceptibles de prononcer pour initier chaque action ou comportement ?
  • Comment les utilisateurs sauront-ils à quel moment ils peuvent parler à l’application et ce qu’ils pourront dire ?
  • Quels processus ou tâches les utilisateurs peuvent-ils effectuer plus rapidement en utilisant la voix plutôt que des entrées tactiles ? Par exemple, parcourir de grandes listes d’options ou naviguer dans plusieurs pages ou niveaux de menu.
  • La reconnaissance vocale devra-t-elle être opérationnelle dans votre application en l’absence de connectivité réseau ?
  • Votre application cible-t-elle des groupes d’utilisateurs spécifiques pour lesquels une adaptation du vocabulaire pourrait s’imposer, par exemple pour des disciplines professionnelles, comme la médecine ou les sciences, ou pour les joueurs, ou des régions géographiques spécifiques ?

Une fois que vous aurez défini l’expérience d’interaction vocale par le biais de commandes vocales et/ou d’une technologie vocale intégrée à l’application, vous pourrez :

  • répertorier les actions qu’un utilisateur peut effectuer avec votre application ;
  • mapper chaque action à une commande ;
  • affecter une ou plusieurs expressions qu’un utilisateur peut prononcer pour activer chaque commande ;
  • écrire le dialogue dans lequel l’utilisateur et votre application s’engageront, si celle-ci est également appelée à parler aux utilisateurs.

Implémentation de la conception de l’interaction vocale

Commandes vocales

Pour activer des commandes vocales, vous devez définir la liste des expressions reconnaissables et les mapper à des commandes dans un fichier de définition des commandes vocales. Pour restituer la conversion de texte par synthèse vocale qui accompagne les commandes vocales, vous spécifiez la chaîne dans le fichier de définition des commandes vocales que le synthétiseur vocal prononcera pour confirmer l’action en cours d’exécution. Quand vous créez un fichier de définition des commandes vocales pour votre application, vous devez prévoir les tâches suivantes :

  • Inviter l’utilisateur à parler.
  • Afficher une mesure du niveau audio de l’entrée vocale.
  • Confirmer l’expression mise en correspondance avec l’élocution de l’utilisateur.
  • Informer l’utilisateur que la reconnaissance a échoué et lui permettre de réessayer (plusieurs fois si nécessaire).
  • Aider l’utilisateur à choisir parmi plusieurs possibilités de reconnaissance éventuellement existantes.

Comme l’expérience de reconnaissance intégrée dans Windows Phone s’appuie sur le modèle interactif utilisé sur le téléphone dans les contextes vocaux globaux, les utilisateurs sont plus enclins à savoir quand commencer à parler, à être familiarisés avec les sons intégrés, à savoir quand le traitement prend fin et à recevoir des retours d’erreurs et de l’aide à la désambiguïsation si plusieurs correspondances sont possibles. Pour plus d’informations, voir Présentation des invites, des confirmations et des options de désambiguïsation pour Windows Phone 8.

Invites et confirmations

Fournissez à vos utilisateurs une interface utilisateur permettant de lancer la reconnaissance. Pour ce faire, utilisez un bouton de barre d’application dont la propriété d’icône a la valeur « Microphone ».

Indiquez aux utilisateurs ce qu’ils peuvent dire à votre application en fonction du contexte actuel de celle-ci et donnez-leur un exemple d’expression d’entrée attendue. Sauf si vous souhaitez que l’utilisateur puisse dire absolument ce qu’il veut, comme dans le cas de la dictée de SMS, faites en sorte que votre invite obtienne une réponse aussi spécifique que possible. Par exemple, si l’invite adressée à l’utilisateur est « Que souhaitez-vous faire aujourd’hui ? », l’éventail de réponses peut être très large et une grammaire très élaborée peut s’avérer nécessaire pour dresser la liste des réponses possibles. Par contre, si l’invite dit « Souhaitez-vous jouer à un jeu ou écouter de la musique ? », elle demande spécifiquement l’une des deux réponses « jouer à un jeu » ou « écouter de la musique ». La grammaire nécessaire pour déterminer uniquement les deux réponses est plus simple et permet probablement une reconnaissance plus précise qu’une grammaire plus élaborée.

Demandez confirmation à l’utilisateur quand le niveau de fiabilité de la reconnaissance vocale est faible. Si l’intention de l’utilisateur n’est pas claire, il est généralement préférable d’inviter celui-ci à la préciser plutôt que de laisser l’application exécuter une action qui ne correspond pas au souhait initial de l’utilisateur.

L’expérience de reconnaissance intégrée comprend des écrans que vous pouvez personnaliser avec un texte d’invite et un exemple d’entrée vocale attendue, ainsi que des écrans qui confirment l’entrée vocale.

Gestion des échecs éventuels de la reconnaissance

Déterminez ce qui doit être fait si la reconnaissance échoue. Par exemple, s’il n’y a pas d’entrée, que la qualité de la reconnaissance est médiocre ou que seule une partie d’une expression est reconnue, la logique de votre application doit gérer ces cas. Envisagez d’informer l’utilisateur que votre application ne l’a pas compris et qu’il peut réessayer. Fournissez à l’utilisateur un autre exemple d’expression d’entrée attendue et redémarrez la reconnaissance quand cela est nécessaire pour autoriser une entrée supplémentaire. Si plusieurs tentatives de reconnaissance échouent successivement, vous pouvez donner à l’utilisateur la possibilité de taper un texte ou de terminer l’opération de reconnaissance. L’interface utilisateur de la reconnaissance intégrée comprend des écrans qui indiquent à l’utilisateur que la reconnaissance a échoué et qui lui permettent de parler de nouveau pour effectuer une autre tentative de reconnaissance.

Détectez et corrigez les problèmes liés à l’entrée audio. Le dispositif de reconnaissance vocale déclenche un événement quand il détecte un problème dans l’entrée audio qui peut affecter la précision de la reconnaissance vocale. Vous pouvez utiliser les informations des arguments de l’événement pour informer l’utilisateur du problème, afin qu’il puisse éventuellement le corriger. Par exemple, si l’entrée vocale est trop silencieuse, vous pouvez inviter l’utilisateur à parler plus fort. Le moteur de reconnaissance vocale génère cet événement en continu, que vous utilisiez ou non l’expérience de reconnaissance vocale intégrée. Pour plus d’informations, voir Gestion des problèmes liés à l’entrée audio pour Windows Phone 8.

Contraintes

Une grammaire est un type de contrainte qui définit le jeu d’expressions qu’un moteur de reconnaissance vocale peut utiliser pour déterminer le contenu de l’entrée vocale. Vous pouvez fournir au moteur de reconnaissance vocale les grammaires prédéfinies incluses dans Windows Phone ou des grammaires personnalisées créées par vos soins. Cette section donne un aperçu des types de grammaires que vous pouvez utiliser et fournit des conseils pour la création de grammaires SRGS. En outre, pour plus d’informations sur les différents types de grammaires et sur les situations dans lesquelles vous pouvez les utiliser, voir Grammaires pour Windows Phone 8.

Grammaires prédéfinies

Windows Phone prend en charge deux grammaires prédéfinies. Pour détecter un nombre élevé d’expressions qu’un utilisateur est susceptible de prononcer dans une langue donnée, envisagez d’utiliser la grammaire prédéfinie de la dictée de SMS. Pour détecter une entrée dans le contexte d’une requête Web, envisagez d’utiliser la grammaire prédéfinie de recherche Web. Ces grammaires prédéfinies en ligne peuvent être utilisées telles quelles pour reconnaître jusqu’à 10 secondes de son vocal et ne nécessitent aucun effort de création de votre part, mais elles ont besoin d’une connexion à un réseau au moment de l’exécution, car elles sont accessibles en ligne.

Création de grammaires personnalisées

Si vous créez vos propres grammaires, une contrainte de liste fonctionne correctement pour la reconnaissance d’expressions distinctes courtes. Ces expressions peuvent être mises à jour par programme et utilisées pour la reconnaissance vocale quand l’application ne dispose pas de connexion au réseau.

Pour contrôler au maximum l’expérience de la reconnaissance vocale, créez votre propre grammaire SRGS, méthode particulièrement puissante pour capturer plusieurs significations sémantiques dans une même reconnaissance. Les grammaires SRGS peuvent également être utilisées pour la reconnaissance vocale hors connexion.

Conseils pour la création de grammaires SRGS

Limitez la taille de votre grammaire. En règle générale, la reconnaissance est plus précise avec une grammaire qui contient peu d’expressions de correspondance qu’avec une grammaire plus volumineuse contenant de nombreuses expressions. Il est généralement préférable d’utiliser plusieurs grammaires de taille réduite pour les différents scénarios de votre application qu’une seule grammaire pour la totalité de l’application. Préparez les utilisateurs à ce qu’ils devront dire dans chaque contexte de l’application, et activez et désactivez les grammaires selon les besoins pour que le moteur de reconnaissance vocale puisse rechercher des correspondances pour l’entrée vocale dans un petit corpus d’expressions pour chaque scénario de reconnaissance.

Concevez vos grammaires pour qu’elles permettent aux utilisateurs de prononcer une commande de différentes manières et pour qu’elles tiennent compte du fait que chaque utilisateur peut avoir sa propre façon de penser et de parler. Par exemple, dans les grammaires SRGS, vous pouvez utiliser la règle GARBAGE comme suit :

  • Acceptez les entrées vocales non définies par votre grammaire. Cela permet à l’utilisateur de prononcer des mots supplémentaires qui n’ont pas de signification pour votre application, tels que « donnez-moi », « et », « peut-être », tout en permettant l’interprétation des mots qui sont importants pour votre application et que vous avez explicitement définis dans vos grammaires.
  • Ajoutez la règle GARBAGE en tant qu’élément à une liste de possibilités pour réduire la probabilité que des mots non définis dans votre grammaire soient reconnus par erreur. En outre, si le moteur de reconnaissance vocale établit une correspondance entre une entrée vocale inattendue et une règle GARBAGE dans une liste de possibilités, vous pouvez détecter les points de suspension (…) retournés par la correspondance à la règle GARBAGE dans le résultat de la reconnaissance et inviter l’utilisateur à parler de nouveau. Toutefois, utiliser la règle GARBAGE dans une liste de possibilités peut également augmenter la probabilité que l’entrée vocale qui correspond à des expressions définies dans votre grammaire soit rejetée à tort.

Utilisez la règle GARBAGE avec soin et testez votre grammaire pour vérifier que son comportement correspond à vos attentes. Pour plus d’informations, voir Élément ruleref.

Essayez d’utiliser l’élément sapi:subset pour faciliter la détection de l’entrée vocale. L’élément sapi:subset est une extension Microsoft de la spécification SRGS qui peut faciliter l’établissement d’une correspondance entre une entrée vocale de l’utilisateur et les grammaires activées. Les expressions que vous définissez à l’aide de l’élément sapi:subset peuvent être détectées par le moteur de reconnaissance vocale même si une partie seulement de l’expression est fournie dans l’entrée vocale. Vous pouvez définir de quatre façons la partie de l’expression pouvant servir à établir une correspondance.

Évitez de définir des expressions dans votre grammaire qui ne contiennent qu’une seule syllabe. En règle générale, la reconnaissance est plus précise pour les expressions contenant au moins deux syllabes. Évitez toutefois de définir des expressions plus longues que nécessaire.

Quand vous définissez la liste des expressions possibles, évitez d’utiliser des expressions qui présentent une certaine similarité, car elles pourraient tromper le moteur de reconnaissance vocale. Par exemple, la présence d’expressions semblant similaires comme « matin », « châtain » et « latin » dans une liste de possibilités peut affecter la précision de la reconnaissance.

Compiler une grammaire est une étape nécessaire de la préparation à la reconnaissance vocale.

Prononciations personnalisées

Pensez à proposer des prononciations personnalisées pour les vocabulaires spécialisés. Si votre application contient des mots inhabituels, fictifs ou dont la prononciation est particulière, vous pouvez améliorer leur reconnaissance en définissant des prononciations personnalisées. Bien que le moteur de reconnaissance vocale soit conçu pour générer des prononciations à la volée pour les mots qui ne sont pas définis dans son dictionnaire, vous pouvez améliorer la précision de la reconnaissance vocale et de la conversion de texte par synthèse vocale (TTS) en définissant des prononciations personnalisées. Pour une quantité de mots limitée ou pour les mots rarement utilisés, vous pouvez créer des prononciations personnalisées en ligne dans des grammaires SRGS. Pour plus d’informations, voir Élément token. Pour une quantité de mots plus conséquente ou pour les mots fréquemment utilisés, vous pouvez créer des documents de lexique de prononciation distincts. Pour plus d’informations, voir À propos des lexiques et des alphabets phonétiques.

Test de la précision de la reconnaissance vocale

Testez la précision de la reconnaissance vocale et l’efficacité de toute interface utilisateur personnalisée que vous fournissez pour la prise en charge de la reconnaissance vocale avec votre application, en recourant si possible à un groupe d’utilisateurs cible pour votre application. Tester la précision de la reconnaissance vocale de votre application avec des utilisateurs cibles est la meilleure façon d’évaluer l’efficacité de la conception et de l’implémentation de la fonctionnalité vocale dans votre application. Par exemple, si les utilisateurs obtiennent des résultats de reconnaissance médiocres, cela signifie-t-il que ce qu’ils disent n’est pas compris par la solution que vous avez mise en œuvre ? Une solution consiste à changer la grammaire pour prendre en charge ce que les utilisateurs sont susceptibles de dire, ou à modifier votre application pour que les utilisateurs sachent ce qu’ils peuvent dire avant l’interaction vocale. Les résultats des tests peuvent vous aider à déterminer comment améliorer vos grammaires ou le flux de la reconnaissance vocale de votre application pour renforcer l’efficacité de cette dernière.

Conversion de texte par synthèse vocale

Également appelée synthèse vocale, la conversion de texte par synthèse vocale (TTS) génère une sortie vocale à partir du texte ou du balisage XML SSML (Speech Synthesis Markup Language) que vous fournissez. Vous pouvez vous appuyer sur les suggestions ci-après pour implémenter la conversion de texte par synthèse vocale (TTS) dans votre application.

  • Concevez des invites courtoises et encourageantes.
  • Évaluez l’opportunité d’utiliser la conversion de texte par synthèse vocale (TTS) pour restituer à l’utilisateur des corps de texte volumineux. Par exemple, les utilisateurs peuvent être enclins à patienter pendant que le dispositif TTS restitue un message texte, mais perdre patience ou être déroutés à l’écoute d’une longue liste de résultats de recherche difficile à mémoriser.
  • Donnez aux utilisateurs la possibilité d’arrêter la restitution proposée par la conversion de texte par synthèse vocale (TTS), particulièrement si cette restitution est longue.
  • Donnez aux utilisateurs la possibilité de choisir une voix masculine ou une voix féminine pour la conversion de texte par synthèse vocale (TTS). Toutes les langues sur Windows Phone possèdent une voix masculine et une voix féminine pour chaque paramètre régional pris en charge.
  • Testez la restitution de la conversion de texte par synthèse vocale (TTS) avant de soumettre une application. Le synthétiseur vocal essaie de restituer les expressions de manière intelligible et naturelle, mais, parfois, un problème peut l’en empêcher.

    • L’intelligibilité est particulièrement importante et reflète si un locuteur natif peut comprendre le mot ou l’expression prononcé par la conversion de texte par synthèse vocale (TTS). Parfois, un problème d’intelligibilité peut se produire si un modèle de langage peu fréquent est associé ou que viennent se mêler des numéros de référence ou des signes de ponctuation.
    • Une restitution naturelle est souhaitable, et un problème peut se présenter si la prosodie ou l’intonation de la restitution diffère de la façon dont un locuteur natif prononcerait l’expression. Vous pouvez traiter les deux types de problèmes en fournissant au synthétiseur une entrée basée sur le langage SSML plutôt que sur du texte brut. Pour plus d’informations sur le langage SSML, voir Utiliser le langage SSML pour contrôler la voix synthétisée et Informations de référence sur le langage SSML (Speech Synthesis Markup Language).

Rubriques connexes

Solutions vocales pour Windows Phone 8

 

 

Afficher:
© 2014 Microsoft