Google Chromeが安定版のver. 25でWebアプリに音声認識機能を埋め込めるWeb Speech APIに対応しました。しかも、日本語を含む多言語対応です。音声でウェブアプリを操作するといったことが可能になるようです。
Googleの中の人による紹介動画が公開されています。
Googleがデモサイトを公開していますので、音声認識の精度を実際に試すことが可能です。
- Web Speech API Demonstration Demo
- 説明: Voice Driven Web Apps: Introduction to the Web Speech API – HTML5Rocks Updates
Web Speech APIの仕様には、このAPIのユースケースとして以下が挙げられています。Web Speech APIはWebの音声入力(speech-input)と自動音声読み上げ(Text-To-Speech)の制御をJavaScriptによって実現することを目的としているようですが、自動音声読み上げ(Text-To-Speech)に該当するものがない・・・?
- Voice Web Search
- Speech Command Interface
- Domain Specific Grammars Contingent on Earlier Inputs
- Continuous Recognition of Open Dialog
- Domain Specific Grammars Filling Multiple Input Fields
- Speech UI present when no visible UI need be present
- Voice Activity Detection
- Temporal Structure of Synthesis to Provide Visual Feedback
- Hello World
- Speech Translation
- Speech Enabled Email Client
- Dialog Systems
- Multimodal Interaction
- Speech Driving Directions
- Multimodal Video Game
- Multimodal Search
目次
参考
- Web Speech API Specification
- Google Chrome Blog: Bringing voice recognition to the web
- 「Google Chrome 25」が安定版に、音声認識を実現する“Web Speech API”に対応
- Chrome 25β公開~音声認識APIで音声によるGmailメール作成も可能に -INTERNET Watch
Web Speech APIとSpeech Input API
Web Speech APIの他にフォームに音声入力機能を追加するSpeech Input APIというAPIがあり、こちらはChrome 11から対応しています。input要素にspeech属性を追加するだけなので、実装は非常に簡単です。
Web Speech APIとSpeech Input APIは機能的に被っている部分があります。どちらもGoogleが提案したAPIのようですが、そのあたりの経緯は以下で説明されています。Speech Input APIを提案した後により広範なWebの音声入出力を扱うWeb Speech APIをJavaScirptベースのAPIとして提案したようです。
参考
Text-To-Speech(自動音声読み上げ)機能
ここからは、勉強不足ということもあり、憶測が混ざります。ご注意ください。
Web Speech APIによって、Text-To-Speech(自動音声読み上げ)機能をJavaScriptで制御することが可能になります。これがBookshareが提供するブラウザ版電子書籍リーダーでのTTS(自動音声読み上げ)機能でおそらく活用されているのではないかと思われます(Googleの公式ブログが言及しているので)。Google Chromeは2011年にTTS APIを公開TTSエンジンを搭載※していますので、それを使用しているのでしょうか。
※2013-07-08追記
Chrome自身がTTSエンジンを搭載したのではなく、OSなどが搭載しているTTSエンジンを利用するためのAPIを公開したという話でした。誤った情報を流してしまい、大変申し訳ありませんでした。
・Chrome Text To Speech – Beautiful Google – Google活用の仕方
以下の動画で紹介されていますが、テキストを読み上げながら、読み上げる箇所をハイライト表示しています。