Pollyでテキストを音声に変換(SSMLで読み方を制御)

Amazon Pollyは、テキストを音声に変換するサービスです。入力する文字列をSSMLという形式にすると読み上げ方を調整することができます。ここでは、利用頻度の高そうなSSMLのタグについて取り上げます。

Amazon Pollyとは

テキストを音声に変換するサービスです。

下記どちらかの形式で入力して、音声を出力します。

  • プレーンテキスト
  • SSML(Speech Synthesis Markup Language: 音声合成マークアップ言語)

SSMLを利用すると「読み上げ音量・速度の調整」「略語の発音指定」など、読み上げ方の詳細な指定ができます。

798-aws-polly-basic_01.png

SSML

利用頻度の高そうなSSMLのタグについて確認します。

SSMLの基本( <speak>タグ で囲む )

SSMLを利用したい場合、<speak>タグ で文字列を囲む必要があります。

<speak>こんにちは</speak>

一時停止
( <break time="3s"/> )

途中で3秒停止させてみます。

<speak>こんにちは<break time="3s"/>こんにちは</speak>

段落間に一時停止
( <p> )

<speak>
  <p>こんにちは</p> 
  <p>今日はいい天気です</p> 
</speak>

大きくゆっくり発声
( <emphasis level="strong"> )

<speak>
  こんにちは
  <emphasis level="moderate">こんにちは</emphasis>
  <emphasis level="strong">こんにちは</emphasis>
</speak>

音量を制御
( <prosody volume="+10dB"> )

<speak>
  こんにちは
  <prosody volume="soft">こんにちは</prosody>
  <prosody volume="loud">こんにちは</prosody>
  <prosody volume="+10dB">こんにちは</prosody>
</speak>

速度を制御
( <prosody rate="200%"> )

<speak>
  こんにちは
  <prosody rate="slow">こんにちは</prosody>
  <prosody rate="fast">こんにちは</prosody>
  <prosody rate="200%">こんにちは</prosody>
</speak>

別の発音に置き換え
( <sub alias=""> )

以下、CMS ではなく Contents Management System のほうを読み上げます。

<speak>
  <sub alias="Contents Management System">CMS</sub>
</speak>

参考