Web Speech APIは、文字の読み上げを担うSpeechSynthesisと、音声認識を担うSpeechRecognitionから構成される。このAPIで発声できる音声の一覧は、speechSynthesis.getVoices()メソッドで取得できる。

使える声はブラウザとOSの組み合わせで違う

Web Speech APIのドラフトによると、このAPIは音声の認識・合成の実装に関知せず、リモート、あるいはデバイスに組み込みの認識・合成システムを呼び出すインターフェースとして定義されている。

ブラウザとOSの組み合わせによって実際に使われるシステムが異なり、その精度にもバラつきがある。また、合成音声はひとまとめにSpeechSynthesisVoiceオブジェクトとして表現されているが、人の声だけでなくベルやブクブク音、ロボットボイスなど謎の効果音も含まれている。

環境ごとにデフォルトで使われるボイスも異なるため、一貫した発声を目指すなら事前に各環境で使えるボイスを把握し、適切に設定してやる必要がある。

このブラウザ×OSで使えるボイスの一覧

以下に出力されるテーブルは、現在このページを表示している環境で使えるボイスの一覧である。

参考資料