概要

最近AmazonConnectを触っていますが、ConnectではAmazonPollyによる音声読み上げに対応しており、一般的な用語に関しては日本語でも比較的スムーズな発音で読み上げてくれます。
しかし、造語だったり、復数の意味があるものだったりすると自然な発音をしてくれない場合があります。
そこで、調べてみると、AmazonPollyではSSML(Speech Synthesis Markup Language)というXMLベースのマークアップ言語を使うことで、読み上げ方をカスタマイズできるそうです。

12ヶ月は500万文字まで無料で、超えても3100文字で0.01USDなので試してみることにしました。

AmazonPollyの料金

中々発音が疑問になるような単語を探すのが難しいのですが、今回はいつもお世話になっている「はてなブックマーク」を選択してみました。

SSMLを使わないパターン

まずはSSMLを使わずに、プレーンテキストにします。

そのままだと「はてなブックマーク」の「ブック」が強調されて、やや違和感があります。(いやこれが正しいんだという意見もあるかもしれませんが、一応Youtubeではてなの中の人の発音を聴いて判断してます)

SSMLを使ってみる

早速SSMLを使って書いてみます。
文字を強調したり、速度を変えたりすることで雰囲気を変えられるようですが、今回はピッチを調整するようにしました。

<speak>
   <prosody pitch="-20%">はてな</prosody>
   <prosody pitch="0%">ブック</prosody>
   <prosody pitch="+10%">マーク</prosody>
</speak>

今度は、ブックマークの部分はマークの部分が強くなったので自然になった反面、「はてな」の部分が尻下がりになりました。
これでも良さそうですが、より普通っぽくするには「はてな」を平坦にしたいと思い、思考錯誤した結果が下記です。

<speak>
   <prosody pitch="-20%">ハテナ</prosody>
   <prosody pitch="0%">ブック</prosody>
   <prosody pitch="+10%">マーク</prosody>
</speak>

「はてな」の部分をカタカナの「ハテナ」へ変更しました。
こうした所、「はてな」の部分のアクセントが無くなり、意図したアクセントの発音になりました。

なお、音声を女性のMizukiからTakumiに変えた所、マークが強調されて逆におかしく聴こえるようになりました。
音声によっても、微調整が必要そうです。

まとめ

今回はAmazonConnectの流れで、Pollyを試してみました。
機械音声だから、ある程度のアクセントの微妙さは仕方がないと思いつつ、アレクサのように喋らせたいと思ったら同様にSSMLを調整することで、自然な発音になりそうです。
どうしても日本語の処理は微妙になりがちですが、今はこのようにやればある程度は調整ができるので、アレクサ開発やAmazonConnectのアナウンスで調整してみようと思います。