Web Speech APIは、文字の読み上げを担うSpeechSynthesis
と、音声認識を担うSpeechRecognition
から構成される。このAPIで発声できる音声の一覧は、speechSynthesis.getVoices()
メソッドで取得できる。
使える声はブラウザとOSの組み合わせで違う
Web Speech APIのドラフトによると、このAPIは音声の認識・合成の実装に関知せず、リモート、あるいはデバイスに組み込みの認識・合成システムを呼び出すインターフェースとして定義されている。
ブラウザとOSの組み合わせによって実際に使われるシステムが異なり、その精度にもバラつきがある。また、合成音声はひとまとめにSpeechSynthesisVoice
オブジェクトとして表現されているが、人の声だけでなくベルやブクブク音、ロボットボイスなど謎の効果音も含まれている。
環境ごとにデフォルトで使われるボイスも異なるため、一貫した発声を目指すなら事前に各環境で使えるボイスを把握し、適切に設定してやる必要がある。
このブラウザ×OSで使えるボイスの一覧
以下に出力されるテーブルは、現在このページを表示している環境で使えるボイスの一覧である。