Uzyskaj informacje o użytkowniku z aplikacji Speech?
Właśnie zacząłem wypróbowywać możliwości Windows Speech to Text w C # .Net. Obecnie pracuję nad podstawami (IE - Powiedz coś, a zapewni to wynik na podstawie tego, co powiesz). Jednakże staram się dowiedzieć, jak rzeczywiście odbierać dane wejściowe użytkownika jako zmienną.
Mam na myśli na przykład to. Jeśli użytkownik powie:
"Call me John"
Potem chcę być w stanie przyjąć to słowoJohn
jako zmienna, a następnie zapisz ją jako powiedzmy nazwę użytkownika osób.
Mój obecnySpeechRecognized
wydarzenie jest następujące:
void zeusSpeechRecognised(object sender, SpeechRecognizedEventArgs e)
{
writeConsolas(e.Result.Text, username);
switch (e.Result.Grammar.RuleName)
{
case "settingsRules":
switch (e.Result.Text)
{
case "test":
writeConsolas("What do you want me to test?", me);
break;
case "change username":
writeConsolas("What do you want to be called?", me);
break;
case "exit":
writeConsolas("Do you wish me to exit?", me);
break;
}
break;
}
}
Uwaga:writeConsolas
to tylko chwalebna linia dołączająca do aRichTextBox
.
Chciałbym dodać kolejnycase
co robi:
case "call me"
username = e.Result.GetWordFollowingCallMe() //Obv not a method, but thats the general idea.
break;
Oczywiście nie ma takiej metody, ale jest to ogólna idea, którą chcę wdrożyć. Czy istnieje sposób wyszukiwania określonych fraz (IE:Call me
) i weź następujące słowo?
EDIT: Powinienem zauważyć, że e.Result.Text zwraca tylko słowa, które można dopasować do tekstu w słowniku.