Voice, propriété (objet Commands)
[Microsoft Agent est déconseillé à partir de Windows 7 et peut être indisponible dans les versions ultérieures de Windows.]
-
Description
-
Renvoie ou définit le texte passé à la grammaire du moteur vocal (pour la reconnaissance).
-
Syntaxe
-
agent**. Caractères (« CharacterID »). Commands.Voice** [ = string]
Élément Description string Expression de chaîne correspondant aux mots ou à l’expression à utiliser par le moteur vocal pour reconnaître cette commande.
Notes
Si vous ne fournissez pas ce paramètre, l’objet VoiceCaption de votre objet Commands n’apparaîtra pas dans la fenêtre Commandes vocales.
L’expression de chaîne que vous fournissez peut inclure des caractères entre crochets ([ ]) pour indiquer des mots facultatifs et des caractères de barre verticale (|) pour indiquer d’autres chaînes. Les substituts doivent être placés entre parenthèses. Par exemple, « (hello [there] | hi) » indique au moteur vocal d’accepter « hello », « hello there » ou « hi » pour la commande. N’oubliez pas d’inclure des espaces appropriés entre le texte entre crochets ou parenthèses et le texte qui n’est pas entre crochets ou parenthèses. Vous pouvez utiliser l’opérateur star (*) pour spécifier zéro ou plusieurs instances des mots inclus dans le groupe ou l’opérateur plus (+) pour spécifier une ou plusieurs instances. Par exemple, les résultats suivants donnent une grammaire qui prend en charge « essayez ceci », « s’il vous plaît essayer », « veuillez essayer ceci », avec des itérations illimitées de « please » :
"please* try this"
Le format de grammaire suivant exclut « essayez ceci », car l’opérateur + définit au moins une instance de « please » :
"please+ try this"
Les opérateurs de répétition suivent les règles de précédence normales et s’appliquent à l’élément de texte qui précède immédiatement. Par exemple, la grammaire suivante donne « New York » et « New York York », mais pas « New York New York » :
"New York+"
Par conséquent, vous souhaitez généralement utiliser ces opérateurs avec les caractères de regroupement. Par exemple, la grammaire suivante inclut « New York » et « New York New York » :
"(New York)+"
Les opérateurs de répétition sont utiles lorsque vous souhaitez composer une grammaire qui comprend une séquence répétée telle qu’un numéro de téléphone ou une spécification d’une liste d’éléments.
"call (one|two|three|four|five|six|seven|eight|nine|zero|oh)*"
"I'd like (cheese|pepperoni|pineapple|canadian bacon|mushrooms|and)+"
Bien que les opérateurs puissent également être utilisés avec le caractère de regroupement entre crochets facultatifs, cela peut réduire l’efficacité du traitement de la grammaire par Agent.
Vous pouvez également utiliser des points de suspension (...) pour prendre en charge la détection de mots, c’est-à-dire indiquer au moteur de reconnaissance vocale d’ignorer les mots prononcés dans cette position dans l’expression (parfois appelées mots de mémoire ). Par conséquent, le moteur de reconnaissance vocale ne reconnaît que des mots spécifiques dans la chaîne, quel que soit le moment où ils sont prononcés avec des mots ou expressions adjacents. Par exemple, si vous définissez cette propriété sur « [...] case activée courrier [...] », le moteur de reconnaissance vocale fera correspondre des expressions telles que « veuillez case activée courrier » ou « case activée courrier s’il vous plaît » à cette commande. Les points de suspension peuvent être utilisés n’importe où dans une chaîne. Toutefois, soyez prudent en utilisant cette technique, car elle peut augmenter le potentiel de correspondances indésirables.
Lorsque vous définissez la grammaire du mot pour votre commande, incluez au moins un mot requis ; c’est-à-dire éviter de fournir uniquement des mots facultatifs. En outre, assurez-vous que le mot inclut uniquement les mots et les lettres prononçables. Pour les nombres, il est préférable d’épeler le mot plutôt que d’utiliser une représentation ambiguë. Par exemple, « 345 » n’est pas une bonne forme grammaticale. De même, au lieu de « IEEE », utilisez « I triple E ». Omettez également toute ponctuation ou symboles. Par exemple, au lieu de « la pizza #10 $ 10 ! », utilisez « la pizza numéro un dix dollars ». L’inclusion de caractères ou de symboles non prononçables pour une commande peut entraîner l’échec de la compilation de la grammaire pour toutes vos commandes par le moteur vocal. Enfin, faites en sorte que votre paramètre vocal soit aussi distinct que possible des autres commandes vocales que vous définissez. Plus la similarité entre la grammaire vocale pour les commandes est grande, plus le moteur vocal est susceptible d’effectuer une erreur de reconnaissance. Vous pouvez également utiliser les scores de confiance pour mieux faire la distinction entre deux commandes qui peuvent avoir une grammaire vocale similaire ou similaire.
Vous pouvez inclure dans vos mots de grammaire sous la forme « text\prononciation », où le texte est le texte affiché et la prononciation est du texte qui clarifie la prononciation. Par exemple, la grammaire « 1st\first » est reconnue lorsque l’utilisateur dit « first », mais l’événement Command retourne le texte« 1st\first ». Vous pouvez également utiliser IPA (Alphabet phonétique international) pour spécifier une prononciation en commençant la prononciation par un signe en livre (« # »), puis inclure le texte représentant la prononciation IPA.
Pour les moteurs de reconnaissance vocale japonaise, vous pouvez définir la grammaire sous la forme « kana\kanji », en réduisant les prononciations alternatives et en augmentant la précision. (Le classement est inversé pour la compatibilité descendante.) Ceci est particulièrement important pour la prononciation des noms propres en Kanji. Cependant, vous pouvez simplement passer kanji sans le Kana, auquel cas le moteur doit écouter toutes les prononciations acceptables pour le Kanji. Vous pouvez également passer à Kana.
Notez également que pour les langues telles que le japonais, le chinois et le thaï, qui n’utilisent pas d’espace pour désigner des sauts de mots, insérez un caractère d’espace Unicode de largeur nulle (0x200B) pour indiquer les sauts de mots logiques.
À l’exception des erreurs utilisant les caractères de mise en forme de regroupement ou de répétition, l’Agent ne signale pas les erreurs dans votre grammaire, sauf si le moteur lui-même signale l’erreur. Si vous passez du texte dans votre grammaire que le moteur ne parvient pas à compiler, mais que le moteur ne gère pas et ne retourne pas en tant qu’erreur, l’agent ne peut pas signaler l’erreur. Par conséquent, l’application cliente doit définir soigneusement la grammaire de la propriété Voice .
Notes
Les fonctionnalités grammaticales disponibles peuvent dépendre du moteur de reconnaissance vocale. Vous pouvez case activée avec le fournisseur du moteur pour déterminer les options de grammaire prises en charge. Utilisez le SRModeID pour utiliser un moteur spécifique.
Le fonctionnement de cette propriété dépend de l’état de la propriété de reconnaissance vocale du serveur. Par exemple, si la reconnaissance vocale est désactivée ou non installée, cette propriété n’a aucun effet.