SpeechRecognition
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
SpeechRecognition はウェブ音声 API のインターフェイスで、 認識サービスの制御インターフェイスです。これは、認識サービスから送信された SpeechRecognitionEvent も処理します。
メモ: Chrome など一部のブラウザーでは、ウェブページ上で音声認識を使用するとサーバーベースの認識エンジンが使用されます。音声を認識処理するためにウェブサービスへ送信するため、オフラインでは動作しません。
コンストラクター
SpeechRecognition.SpeechRecognition()-
新しい
SpeechRecognitionオブジェクトを作成します。
インスタンスプロパティ
SpeechRecognition は、親インターフェイスである EventTarget からのプロパティも継承しています。
SpeechRecognition.lang-
現在の
SpeechRecognitionの言語を返して設定します。指定されない場合、これは既定でで HTML のlang属性の値になります。どちらも設定されていない場合、ユーザーエージェントの言語設定が使用されます。 SpeechRecognition.continuous-
各認識の継続的な結果を返すか、単一の認識結果だけを返すかを制御します。既定値は単一 (
false) です。 SpeechRecognition.interimResults-
暫定的な結果を返すか (
true)、そうでないか (false) を制御します。暫定的な結果は、最終的な結果ではありません(つまり、SpeechRecognitionResult.isFinalプロパティの値はfalseです)。 SpeechRecognition.maxAlternatives-
結果ごとに提供される
SpeechRecognitionAlternativeの最大数を設定します。既定値は 1 です。 SpeechRecognition.phrasesExperimental-
文脈バイアスに使用する
SpeechRecognitionPhraseオブジェクトの配列を設定します。 SpeechRecognition.processLocallyExperimental-
音声認識をユーザーの端末でローカルに実行する必要があるかどうかを指定します。
非推奨のプロパティ
ウェブ音声 API から文法の概念が削除されました。関連機能は仕様に残っており、下位互換性のため対応ブラウザーでは認識されますが、音声認識サービスには影響しません。
SpeechRecognition.grammars-
SpeechGrammarオブジェクトのコレクションを返却および設定します。これは、現在のSpeechRecognitionにより理解される文法を表します。
静的メソッド
SpeechRecognition.available()Experimental-
指定された言語が音声認識で使用可能かどうかを確認します。
SpeechRecognition.install()Experimental-
指定された言語で、端末上の音声認識に必要な言語パックをインストールします。
インスタンスメソッド
SpeechRecognition は、その親インターフェイスである EventTarget からのメソッドも継承しています。
SpeechRecognition.abort()-
音声認識サービスによる入力音声のリスニングを停止し、
SpeechRecognitionResultを返そうとしないようにします。 SpeechRecognition.start()-
音声認識サービスを開始し、(マイクまたはオーディオトラックから)入力される音声を待機し、その認識結果を返します。
SpeechRecognition.stop()-
音声認識サービスによる入力音声のリスニングを停止し、その時点までに取得した結果を使用して
SpeechRecognitionResultを返そうとします。
イベント
これらのイベントを addEventListener() を使用して待ち受けするか、イベントリスナーをこのインターフェイスの onイベント名 プロパティに代入するかしてください。
audiostart-
ユーザーエージェントが音声のキャプチャを開始したときに発行されます。
audioend-
ユーザーエージェントが音声のキャプチャを完了したときに発行されます。
end-
音声認識サービスが切断されたときに発行される。
error-
音声認識エラーが発生したときに発行さ れます。
nomatch-
音声認識サービスが、有意な認識がない最終結果を返したときに発行されます。これは、
confidenceの閾値を満たさない、または超えない、ある程度の認識を含む場合があります。 result-
音声認識サービスが結果を返したとき、つまり単語やフレーズが正の値で認識され、これがアプリに伝達されたときに発行されます。
soundstart-
(認識可能な音声であるかどうかに関わらず)何らかの音が検出されたときに発行されます。
soundend-
認識可能な音声であろうとなかろうと、何らかの音が検出されなくなったときに発行されます。
speechstart-
音声認識サービスによって音声として認識される音が検出されたときに発行されます。
speechend-
音声認識サービスによって認識された音声が検出されなくなったときに発行されます。
start-
音声認識サービスが音声認識のために聞き取りを開始したときに発生します。
例
Speech color changer の例では、SpeechRecognition() コンストラクターを使用して新しい SpeechRecognition オブジェクトのインスタンスを生成しています。
他の値を定義した後、それを設定して、ボタンがクリックされた時(SpeechRecognition.start() を参照)に認識サービスを開始します。音声の認識に成功すると、result イベントが発生し、イベントオブジェクトから発話された色を展開、そしてそれを <html> 要素の背景色に設定します。
const recognition = new SpeechRecognition();
recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.maxAlternatives = 1;
const diagnostic = document.querySelector(".output");
const bg = document.querySelector("html");
const startBtn = document.querySelector("button");
startBtn.onclick = () => {
recognition.start();
console.log("Ready to receive a color command.");
};
recognition.onresult = (event) => {
const color = event.results[0][0].transcript;
diagnostic.textContent = `Result received: ${color}`;
bg.style.backgroundColor = color;
};
仕様書
| Specification |
|---|
| Web Speech API> # speechreco-section> |