Bonjour à tous,
je tente de mettre au point un logiciel de reconnaissance vocale. Je passe par Vista et je développe en C# via le framework .NET (bibliothèque System.Speech).
J'ai définit une grammaire de type SRGS (classe Grammar) via un fichier de définition grXML, ce genre là :
Au stade où j'en suis, l'application fonctionne bien : elle reconnait bien mes phrases si elles appartiennent à la grammaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN" "http://www.w3.org/TR/speech-grammar/grammar.dtd"> <grammar xmlns="http://www.w3.org/2001/06/grammar" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/06/grammar http://www.w3.org/TR/speech-grammar/grammar.xsd" xml:lang="fr-FR" version="1.0" root="cmd" mode="voice" tag-format="semantics-ms/1.0" > <rule id="cmd"> <one-of> <item>quitter application</item> <item>éditer</item> <item>nouveau fichier</item> </one-of> </rule> </grammar>
Maintenant, je voudrais adapter mon code en fonction de la commande prononcée.
Comment faire ? Est-ce que je dois passer par un "if resultReco == 'ouvrir' " après chaque phrase reconnue ?
N'y a-t-il pas un moyen plus efficace de procéder ?
J'ai trouvé de la documentation sur VoiceXML, mais je crois comprendre qu'on ne peut l'utiliser que pour des applications Web (ce qui n'est pas mon cas).
Quelle solution choisir ?
Merci d'avance![]()
Partager