Bonsoir,
Dans le cadre d'un projet, j'ai besoin d'utiliser la reconnaissance et la synthèse vocale.
J'ai donc cherché des infos sur ces deux sujets et je n'ai trouvé que des cours traitant le Delphi ou le C#.
Ainsi, j'ai codé mon truc en C# mais je coince sur la reconnaissance vocale (la synthèse tourne sans problème) : rien ne me fait penser que mon système fonctionne.
Mon code :
A titre de précision, la reconnaissance vocale fonctionne chez moi, sous des programmes du type de Word.
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 using System; using SpeechLib; namespace Speech { public class RecoVocale { public ISpeechRecoGrammar grammar; public SpSharedRecoContextClass context; public SpVoice voix; public SpeechVoiceSpeakFlags flags; public void HandlerReco(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult result) { string entree = result.PhraseInfo.GetText(0, -1, true); string regle = result.PhraseInfo.Rule.Name; Console.Out.WriteLine(entree); Console.Out.WriteLine(regle); } public RecoVocale() { voix = new SpVoice(); flags = SpeechVoiceSpeakFlags.SVSFlagsAsync; voix.Volume = 100; voix.Speak("Bonjour ! Note that my voice is in english because I don't speack French ! Then, we can begin. Let's go !", flags); voix.WaitUntilDone(100000); context = new SpSharedRecoContextClass(); context.Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler(HandlerReco); grammar = context.CreateGrammar(0); grammar.DictationLoad("", SpeechLoadOption.SLOStatic); grammar.DictationSetState(SpeechRuleState.SGDSActive); } } class main { static void Main(string[] args) { RecoVocale speech = new RecoVocale(); while(true); } } }
Par contre, je ne vois pas ce qui pose problème dans mon code.
Accessoirement, j'ai commencé aujourd'hui le C#, donc ne me sortez pas des choses du genre de "Fais une multi-électro-perfusion béta-systémoique" parce que je risque de ne pas réussir à vous suivre.
Le choix de la console et non de la fenêtre est fait exprès.
Merci d'avance de votre aide,
Amnell.
Partager