Search code examples
c#win-universal-appcortanavcd

Cortana Windows 10 UWP Integration - Using {*} in VCD


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?


Solution

  • 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