and of my main struggles with VC (and any software that interact using SR) is that one have to remember the exact phrase or the few variations that we program. and it is getting harder as the command tree grows. as humans we tend to vary our speech a lot ...
the story started when I discovered the x-ref in the command tree yesterday ... so I Looked for some documentation in the wiki and I did not find much. however I discovered this thread (about a year old:
http://voxcommando.com/forum/index.php?topic=1130.0) and while I was reading it, it made me wonder if it is possible to create 2 lists of words that I think will make VC very flexible in variations:
the first list is redundant words like: please where VC will remove them from the detected phrase whenever it encounters them ... so if one says,
please play song x,
play song x or
play song x please will all be the same and in the command tree all we have to put is
play song X (now this is achievable by putting please optional, and must be added to every command) another example which apply to tellvox is the question mark .. my test if it is in the phrase and one do not type it, VC won't accept the command ... so again I started to append the optional question mark to all questions as optional. ( I do issue a lot of commands to VC through Skype chat ... ex at work and send: Let me know when my son is home)
the second list is synonyms, like: Yes, yeah, sure ...or tell me and what is etc. again that is doable by optional words, but again one must list all of the possibilities ... maybe this can be achieved with x-ref or xml files at the location .... however I am not sure what is the effect on recognition accuracy when adding to many variation at the level of command tree as opposed to program "tell me the time" only and let VC strip the variations to one concrete phrase ...
technically speaking we interact with VC by 3 types of sentences:
Questions: and at the end of the day the variations of starting the phrase for those are not many so list 2 will be great ...
Orders: where list one will serve to strip down the many variations to much fewer phrases.
Confirmations: and here VC already use list one ( one can put:, yeah, yes, sure, definitely ...etc. in the options)
I expect that MS SR engine is not built that way ... but if there is a work around to pre-process the sentence before deciding it matches the tree or not will do the trick.