In the specification for vcd files, it says that {*} is used to match anything. However for he example command:
<Command Name="addFoodLog">
<Example> I had a burger for lunch </Example>
<!--Recording a drink-->
<ListenFor RequireAppName="BeforeOrAfterPhrase"> [I] drank [a] {*} with [my] {mealtime} </ListenFor>
<!--Recording a meal-->
<ListenFor RequireAppName="BeforeOrAfterPhrase"> [I] ate [a] {*} for [my] {mealtime} </ListenFor>
<ListenFor RequireAppName="BeforeOrAfterPhrase"> [I'm] having {*} for [my] {mealtime} </ListenFor>
<ListenFor RequireAppName="BeforeOrAfterPhrase"> [I] [just] had [a] {*} for {mealtime} </ListenFor>
<Feedback> Recording your {mealtime}</Feedback>
<Navigate />
</Command>
Printing the result of this input will be I drank a ... with my dinner
Is there any way to get what was actually said out of the text? Or perhaps this is an error?
If you use a phrase topic then you'll solve your problem as it will pick up a larger vocabulary.
Heres an example:
<PhraseTopic Label="food">
<Subject>Food</Subject>
<Subject>Drink</Subject>
<Subject>Meal</Subject>
<Subject>Food</Subject>
</PhraseTopic>
Checkout the Voice Command Definition elements and attributes for more information