SpeechRecognition.grammars

Experimental

これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

SpeechRecognition インターフェイスの grammars プロバティは現在の SpeechRecognition が理解できる文法を表す SpeechGrammar オブジェクトの集合を返すことになります。

構文

var myGrammars = mySpeechRecognition.grammars;
mySpeechRecognition.grammars = mySpeechGrammarList;

アプリの文法を表すSpeechGrammar オブジェクトに含まれている SpeechGrammarList (en-US)

下記のソースコードは Speech color changer を参考しています

var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;'
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
//recognition.continuous = false;
recognition.lang = 'ja-JP';
recognition.interimResults = false;
recognition.maxAlternatives = 1;

...

仕様

仕様 状態 コメント
Web Speech API
grammars の定義
ドラフト

ブラウザー実装状況

BCD tables only load in the browser

Firefox OS の権限

アプリで音声認識を利用する前に、下記の権限を manifest に追加する必要があります。

"permissions": {
  "audio-capture" : {
    "description" : "Audio capture"
  },
  "speech-recognition" : {
    "description" : "Speech recognition"
  }
}

privileged アプリ権限も必要なので、下記も追加が必要です。

  "type": "privileged"

関連情報