Hello again. I’m still experimenting with using open ears to add voice control to an app. I think I’ve finally found a mix of solutions that meets my needs using OpenEars with JGSF for the navigation and a cloud based matcher like Dragon for dictation. The problem I’m running into now is that the JGSF grammar is not responding quite the way I expected. My dictionary looks like this:
@{
ThisWillBeSaidOnce : @[
@{ OneOfTheseWillBeSaidOnce : @[@"NEW ORDER", @"BEGIN ORDER"]},
@{ OneOfTheseCanBeSaidOnce: @[@"WITH", @"INPUT", @"ADD"]},
@{ OneOfTheseWillBeSaidOnce : @[@"MODEL", @"COLOR"]}
]
};
As long as all the words in the phrase match a word in the dictionary everything is great. However, if the phrase includes an unknown word, the listener tries to “guess” which command it was instead of rejecting it. Is there some way to change this behaviour? If I have to manually parse the command string every time it defeats the whole purpose of using JGSF in the first place.