SAPI / Laden einer Grammatik
-
Hallo,
Ich versuche in meinem Programm Sprachsteuerung einzubauen.
Dazu möchte ich die SAPI benutzen.Das ganze realisiere ich zwar in Qt, nur da die SAPI afaik ein Teil der WinAPI ist, dachte ich, dass die Frage hier besser aufgehoben ist.
Und zwar habe ich folgendes Problem:
Wenn ich als Grammatik einfach "Diktieren auswähle"
hr = cpGrammar->LoadDictation(NULL,SPLO_STATIC);funktioniert das zwar, aber es dauert viel zu lange, bis der erkannte String bei mir ankommt. Ich denke es wird halt gewartet, ob man noch mehr spricht.
Daher wollte ich eigentlich eine Grammatik übergeben, die nur die vier Befehle hat, die ich brauche:
<GRAMMAR LANGID="1031"> <RULE NAME="command"> <L PROPNAME="commandcode" PROPID="COMMANDCODE"> <P VAL="1">start</P> <P VAL="2">stop</P> <P VAL="3">rechts</P> <P VAL="4">links</P> </L> </RULE> </GRAMMAR>Folgendermaßen binde ich diese Grammatik ein:
hr = cpGrammar->LoadCmdFromFile(L"grammar.xml", SPLO_STATIC);Dies schlägt jedoch fehl: SPERR_UNSUPPORTED_FORMAT
Hat einer eine Idee, woran das liegen kann? Leider finde ich überhaupt nichts dazu im Netz. Alle anderen, die dieses Problem haben, versuchen, eine Audioquelle direkt anzusprechen und haben dabei das Problem.
Das mache ich aber nicht und wie gesagt, im Diktiermodus funktioniert es auch, halt nur langsam und mit sehr schlechter Erkennung...Grüße,
Manuelito