Web Speech APIを使うことでWebブラウザを喋らせることができます。
ブラウザを利用したWebアプリケーションであれば簡単にユーザーに通知する手段を増やすことが可能です。
例えば、
- Webサイト上に書かれたテキストを読んでもらう。
- 特定の座標に到着したことを知らせる。
- 音声認識機能も併用してGoogle Homeの再発明。
などなど、組み合わせ次第でいろいろ遊べそうです。
自動音声ですが全くの機械声という訳でもなく、割と自然な感じに読み上げてくれます。
環境依存とはいえ、これがブラウザさえあればいつでも利用できるなんて素晴らしい。
さっそく時報でもやってもらおうと思います。
環境
Android 7.1.1
Chrome 63
上のコードをブラウザで表示したスクリーンショットがこちら
startを押すと、時刻を5秒ごとに喋ってくれます。
音量調整しかありませんが、音程や速度の調整もできます。
注意しなければいけないのは、speechSynthesis.speak を呼んだ回数だけ読み上げてくれるところ。(どんどんスタックする)
連続で呼び出すような処理が入ってしまうと延々同じ文章を読み上げられ軽くホラーな体験になります。
また、例にもあげましたが、Web Speech APIの主要機能の一つに音声認識があります。
それも組み合わせてとてもとても頑張ればAIブログ、AI進捗管理システムも作れるかもしれません。
APIのより詳細な情報はこちら。
Web Speech API – Web API インターフェイス | MDN
https://developer.mozilla.org/ja/docs/Web/API/Web_Speech_API
ちなみにですが、時報自体は別の方法でも実装可能です。
Web Speech APIは調整できる幅が狭いのですが、必要なものは揃っていて細かいことを考えなくても形になるという点で非常にお手軽です。
まだドラフトなのが残念ですが、実用性の高い機能だと思うので今後の更なる発展と可及的速やかな本採用をお祈り申し上げます。