Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Web Speech API

この記事は編集レビューを必要としています。ぜひご協力ください

これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。

The Web Speech API enables you to incorporate voice data into web apps. Web Speech API は2つの部分から成り立っています:音声合成(Text-to-Speech), と音声認識(Asynchronous Speech Recognition.)です

Web Speech APIのコンセプトと使用法

WebSpeechAPIは音声データを処理することが出来るwebアプリケーションを作成出来ます。このAPIには2つのコンセプトがあります。

  • 音声認識は SpeechRecognitionインターフェース経由で使用出来ます。これは入力された音声(通常はデバイスのデフォルト音声認識サービス経由)から文脈を認識し、適切に対応する機能を提供します。通常は、SpeechRecognition オブジェクトを生成するためにインターフェースコンストラクタを使用します?これはデバイスのマイクから入力された音声を検知するための複数のイベントハンドラを持ちます。 SpeechGrammarインターフェースはSpeechGrammar インターフェースは、あなたのアプリが認識するGrammer(語群)の集合のコンテナを提供します。
  • Grammarの定義は JSpeech Grammar Format (JSGF)を使用します。
  • 音声合成は SpeechSynthesis インターフェース経由で使用出来ます。
  • a text-to-speech component that allows programs to read out their text content (normally via the device's default speech synthesiser.)
  • 多種類のvoice typesがSpeechSynthesisVoiceオブジェクトから提供され、多種類のあなたの話させたいpart of textがSpeechSynthesisUtterance オブジェクトから提供されます。
  • あなたは、SpeechSynthesis.speak()メソッドを使用して、スピーチさせることが出来ます。

詳細はUsing the Web Speech APIを参照して下さい。

Web Speech API インターフェース

音声認識

SpeechRecognition
recognition serviceのコントローラーです。recognition serviceからのSpeechRecognitionEventも扱います。
SpeechRecognitionAlternative
speech recognition serviceにより認識された単一の言葉
SpeechRecognitionError
recognition serviceからのエラーメッセージ
SpeechRecognitionEvent
resultnomatchイベントオブジェクトです。speech recognitionの結果(一部または、全て)を保持しています
SpeechGrammar
recognition serviceに認識してほしい言葉やパターン
SpeechGrammarList
SpeechGrammar の一覧
SpeechRecognitionResult
単一の認識で一致した結果。複数のSpeechRecognitionAlternativeを含む場合もある 
SpeechRecognitionResultList
SpeechRecognitionResultオブジェクトの一覧。モードがcontinuousだった場合は単一になります

音声合成

SpeechSynthesis
speech serviceのコントローラーインタフェースです。speechの開始、一時停止、またはその他のコマンドを検索することが出来ます
SpeechSynthesisErrorEvent
Contains information about any errors that occur while processing SpeechSynthesisUtterance objects in the speech service.
SpeechSynthesisEvent
Contains information about the current state of SpeechSynthesisUtterance objects that have been processed in the speech service.
SpeechSynthesisUtterance
Represents a speech request. It contains the content the speech service should read and information about how to read it (e.g. language, pitch and volume.)
SpeechSynthesisVoice
Represents a voice that the system supports. Every SpeechSynthesisVoice has its own relative speech service including information about language, name and URI.
Window.speechSynthesis
Specced out as part of a [NoInterfaceObject] interface called SpeechSynthesisGetter, and Implemented by the Window object, the speechSynthesis property provides access to the SpeechSynthesis controller, and therefore the entry point to speech synthesis functionality.

GithubのWeb Speech API repoに、音声合成や音声認識を説明するデモが含まれています。

仕様

Specification Status Comment
Web Speech API ドラフト Initial definition

ブラウザ互換性テーブル

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 33[1] 44 (44)[2] 未サポート 未サポート 未サポート
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support ? (有)[1] ? 2.5 未サポート 未サポート 未サポート
  • [1] Speech recognition interfaces are currently prefixed in Chrome, so you'll need to prefix interface names appropriately, e.g. webkitSpeechRecognition; You'll also need to serve your code through a web server for recognition to work. Speech synthesis is fully supported without prefixes.
  • [2] 使用可能にするにはabout:comfigのmedia.webspeech.synth.enabledmedia.webspeech.recognitionを有効にしてください。
  • Firefox Desktop版では現在、音声合成のみ使用可能なことに注意して下さい。
  • 音声認識ももうすぐ(音声認識に必要な内部権限が整理された後)使用可能になるでしょう。

Firefox OS でのパーミッション

To use speech recognition in an app, you need to specify the following permissions in your manifest:

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

You also need a privileged app, so you need to include this as well:

  "type": "privileged"

Speech synthesis needs no permissions to be set.

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: kawakami, lv7777
 最終更新者: kawakami,