音声合成

English page

WebブラウザのWeb Speech APIを利用して、簡易的な音声合成を行うことができます。

基本的な使い方

「音声」グループの「○○と読み上げる」のブロックをドラッグして、読み上げたい文章を入力します。
「非同期」のチェックをオンにした場合、読み上げが始まるとすぐに次のブロックの実行に進みます(非同期読み上げ)。
非同期読み上げについての詳細は、後の項を参照してください。
一方、このチェックをオフにした場合は、読み上げが終わるまで次のブロックは実行されません。

読み上げ

声を変えたい場合は、「声を○○にする」のブロックを使います。

声の選択
読み上げ言語の設定

ただし、Webブラウザによって声の名前が異なるため、声の名前を細かく選ぶブロックを使うと、他のWebブラウザでプログラムを実行したときに、声が正しくなくなります。
他のWebブラウザでも実行する可能性があるプログラムでは、「声を日本語にする」など、言語名のブロックを使います。

速度等の設定

読み上げの速度を変えるには、「速度を○○にする」のブロックを使います。
値は0.1~10の範囲で指定することができ、1が基準の速さです。
例えば、0.5を指定すると半分の速さになります。

速さの設定

声の高さを変えるには、「高さを○○にする」のブロックを使います。
値は0~2の範囲で指定することができ、1が基準の高さです。
1より小さいと低い声になり、1より大きいと高い声になります。

高さの設定

音量を変えるには、「音量を○○にする」のブロックを使います。
値は0~1の範囲で指定することができ、1が最大の音量です。

音量の設定

非同期読み上げ

読み上げのブロックで「非同期」のチェックをオンにすると、読み上げを行いつつ、その後のプログラムを実行することができます。
非同期で読み上げている間は、「読み上げを一時停止する」などのブロックで、読み上げを制御することができます。

読み上げ終了
読み上げ一時停止
読み上げ再開

また、「読み上げ中」のブロックで、読み上げを行っている途中かどうかの状態を得ることができます。

読み上げ中の取得

非同期読み上げ中にプログラムが終了すると、読み上げもそこで終了します。
読み上げが終わるまでプログラムを終了したくない場合は、プログラムの最後に、読み上げ中かどうかを判断する繰り返しを入れ、繰り返しの中で10ミリ秒ずつ待つようにします。

読み上げが終わるまで待つ