J'ai besoin de créer un équivalent programmatique en utilisant le langage delphi ... ou quelqu'un pourrait poster un lien sur la façon de faire des grammaires en reconnaissant peech en utilisant le delphi. Ou des exemples de grammaire XML ayant un équivalent programmatique dans Delphi. Désolé pour mon anglais.SAPI Reconnaissance de la parole delphi
**Programmatic Equivalent **
Ref: http://msdn.microsoft.com/en-us/library/ms723634(v=VS.85).aspx
SPSTATEHANDLE hsHelloWorld;
hr = cpRecoGrammar->GetRule(L"HelloWorld", NULL,
SPRAF_TopLevel | SPRAF_Active, TRUE,
&hsHelloWorld);
hr = cpRecoGrammar->AddWordTransition(hsHelloWorld, NULL,
L"hello world", L" ",
SPWT_LEXICAL, NULL, NULL);
hr = cpRecoGrammar->AddWordTransition(hsHelloWorld, NULL,
L"hiya|there", L"|",
SPWT_LEXICAL, NULL, NULL);
hr = cpRecoGrammar->Commit(NULL);
XML Grammaire Sample (s):
<GRAMMAR>
<!-- Create a simple "hello world" rule -->
<RULE NAME="HelloWorld" TOPLEVEL="ACTIVE">
<P>hello world</P>
</RULE>
<RULE NAME="HelloWorld_Disp" TOPLEVEL="ACTIVE">
<P DISP="Hiya there!">hello world</P>
</RULE>
<RULE NAME="Question_Pron" TOPLEVEL="ACTIVE">
<P DISP="I don't understand" PRON="eh">what</P>
</RULE>
<RULE NAME="NurseryRhyme" TOPLEVEL="ACTIVE">
<P>hey</P>
<P MIN="2" MAX="2">diddle</P>
</RULE>
<RULE NAME="UseWeights" TOPLEVEL="ACTIVE">
<LIST>
<P WEIGHT=".95">recognize speech</P>
<P WEIGHT=".05">wreck a nice beach</P>
</LIST>
</RULE>
<RULE NAME="UseProps" TOPLEVEL="ACTIVE">
<P PROPNAME="NOVALUE">one</P>
<P PROPNAME="NUMBER" VAL="2">two</P>
<P PROPNAME="STRING" VALSTR="three">three</P>
</RULE>
</GRAMMAR>
Merci Monsieur Tim! J'ai essayé de remplacer tous les paramètres. il n'a pas d'erreurs. mais les deux ont des résultats déférents. Je me demande comment le 'L' fait dans le paramètre. {GetRule (L "HelloWorld" ....)} Je ne l'ai pas inclus dans mon paramètre. est-ce que cela signifie une liste? – XBasic3000
L "Hello World" signifie que "Hello World" est une chaîne "large" (ou Unicode). –
Oui, Eric a raison. –