9
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Web Speech APIを使ってみる

Last updated at Posted at 2017-07-06

Speech Synthesis API とは何ぞ?

指定テキストを音声再生させることができるよ!
JavaScriptでブラウザがあれば実行できるよ!

※対応しているブラウザ一覧はこちらを参照。

使ってみる

ブラウザ OS
Vivaldi macOS Sierra

とりあえずF12で開発者ツールを開いて以下を入力する。

var text = "うんこはお尻から出てくるらしいよ!";
var ss = new SpeechSynthesisUtterance(text);
speechSynthesis.speak(ss);

image.png

たったこれだけで合成音声が使える。
世の中便利になったもんだなぁ。

まず、この2つを抑えておけば大丈夫そう。

・SpeechSynthesisUtterance
・speechSynthesis

SpeechSynthesisUtterance

速度やピッチ、言語などの属性を設定できる。
設定出来る属性一覧。

属性 説明
text 読み上げる文字列をセット
lang 言語をセット
voiceURI 声の種類をセット
volume 音量の調整
rate 速さの調整
pitch ピッチの調整

具体的な属性値はこちらを参照。

speechSynthesis

受け取ったSpeechSynthesisUtteranceオブジェクトを元に音声を合成する。
渡されたオブジェクトはキューに追加され、キューがなくなるまで喋るらしい。

メソッドはこんな感じ。

メソッド 説明
speak キュー追加
cancel 全キュー削除
pause 一時停止
resume 再開

まとめ

イメージとしては、
speechSynthesisはCDプレイヤーで、
SpeechSynthesisUtteranceはCDって感じかな。

現実は、CDをプレイヤーにどんどん突っ込めないから良い子は真似しないでね!

var ss = new SpeechSynthesisUtterance();
ss.text = "先生は空中回転しながらうんちをした。";
ss.lang = "ja-JP";
ss.voiceURI = "Google 日本人";
ss.volume = 1;
ss.rate = 1;
ss.pitch = 1;

speechSynthesis.speak(ss);

JavaScriptでできるし、
AnnictのAPI使えば、今日の放送アニメ一覧読み上げてくれるモノもつくれるね!

9
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?