--- title: SpeechRecognition.grammars slug: Web/API/SpeechRecognition/grammars tags: - API - Experimental - Property - Reference - SpeechRecognition - Web Speech API - grammars - recognition - speech translation_of: Web/API/SpeechRecognition/grammars ---
{{APIRef("Web Speech API")}}{{SeeCompatTable}}

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

構文

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

アプリの文法を表す{{domxref("SpeechGrammar")}} オブジェクトに含まれている {{domxref("SpeechGrammarList")}}

下記のソースコードは 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;

...

仕様

仕様 状態 コメント
{{SpecName('Web Speech API', '#dfn-grammars', 'grammars')}} {{Spec2('Web Speech API')}}

ブラウザー実装状況

{{Compat("api.SpeechRecognition.grammars")}}

Firefox OS の権限

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

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

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

  "type": "privileged"

関連情報