4

I am currently doing some RnD on Webkit Speech Recognition and I wanted to create an application specific grammar file. According W3C definition I wrote the following code. But it doesnt seem to show improved results in recognition for these words. Can you kindly provide some help with this.?

var recognition = new webkitSpeechRecognition(); recognition.grammars.addFromUri("voice/api_grammar/weight.grxml");

The grammar file is a simple file which looked like the following.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"
                  "http://www.w3.org/TR/speech-grammar/grammar.dtd">

<grammar version="1.0"
         xmlns="http://www.w3.org/2001/06/grammar"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://www.w3.org/2001/06/grammar 
                             http://www.w3.org/TR/speech-grammar/grammar.xsd"
         xml:lang="en-US" mode="voice" root="sequence">

  <meta name='description' content='Example using examples'/>

  <meta name='in.1' content='sunny Yorktown Heights New York United States'/>
  <meta name='out.1' content='$sequence[$repeat[$alternatives["sunny"]],$ruleref[$token["Yorktown Heights"]],$Token["New","York"],$TOKEN["United States"]]'/>




  <rule id="ruleref">
    <example>"Yorktown Heights"</example>
    <ruleref uri="#token"/>
  </rule>

  <rule id="alternatives">
    <example>sunny</example>
    <example>cloudy</example>
    <example>warm</example>
    <example>cold</example>
    <one-of>
      <item> sunny </item>
      <item> cloudy </item>
      <item> warm </item>
      <item> cold </item>
    </one-of>
  </rule>

  <rule id="repeat">
   <example></example> <!-- for count=0 -->
   <example>warm</example>
   <example>warm sunny cloudy</example>
   <item repeat="0-3">
      <ruleref uri="#alternatives"/>
   </item>
  </rule>

  <rule id="sequence">
    <example>
      warm sunny cloudy "Yorktown Heights" New York "United States"
    </example>
    <example>
      warm sunny cloudy   Yorktown   Heights   New York United
            States
    </example>
    <example> <!-- this example is actually wrong but that is legal -->
      warm sunny cloudy "Yorktown   Heights" New York "United States"
    </example>

    <ruleref uri="#repeat"/> <ruleref uri="#ruleref"/>
    <ruleref uri="#Token"/> <ruleref uri="#TOKEN"/>    
  </rule>

</grammar>
Kara
  • 6,115
  • 16
  • 50
  • 57
  • Can anyone give some support regarding the above q? if any more description is needed, it can certainly be done. thanks. – Chinthaka Dharmasiri Jun 04 '13 at 11:09
  • Possible duplicate of [Is there a way to use a grammar with the HTML 5 speech input API?](http://stackoverflow.com/questions/8683772/is-there-a-way-to-use-a-grammar-with-the-html-5-speech-input-api) – Nikolay Shmyrev Nov 25 '15 at 20:38

1 Answers1

2

Though w3c specified the grammar for web speech it is not yet implemented by google chrome.

Xsmael
  • 3,624
  • 7
  • 44
  • 60
udnisap
  • 899
  • 1
  • 10
  • 19