【レポート】Amazon Polly Tips and Tricks #reinvent #MCL307

はじめに

本記事はAWS re:Invent 2017のセッション「MCL307 - Amazon Polly Tips and Tricks: How to Bring Your Text-to-Speech Voices to Life」のレポートです。

登壇者は以下のお二人。

  • Remus Mois - Senior Software Development Manager
  • Andrew Huntwork - CEO, The Magic Door

レポート

アジェンダ

Amazon Pollyとはなにか?
最近増えた声について
テキスト読み上げのコントロール
Pollyの例: The Magic Door

Amazon Pollyとは?

テキストを読み上げてくれるサービス。
52種の声、25の言語に対応。
低いレイテンシでリアルタイムなシステムに組み込み可能。
開発者が簡単に使える。

どのように使うのか。

APIを叩く事もできるし、サンプルのGUIも用意されている。
SSMLとLexiconを使うことで豊富なカスタマイズが可能。

音声読み上げのパイプライン

フロントエンドでテキスト処理、バックエンドで音声処理。
まずテキストを変換。数値や記号をテキストにする。例えば100をone hundred。
次にテキストをGrapheme-to-phoneme(音の要素)に変換する。
そして音に変換、読み上げる。

チャレンジ

Pollyは正確でわかりやすく、自然なスピーチに変換する。
 例えばroughとthoughとthroughは全てoughの音が違う。
 read(リードとレッド)とか。
記号の変換。
 St.はStreetでもSaintでも略称で使う。
一般的で無い読み方の単語の対応。

新しい声

Seoyeon(韓国語)
Matthew(英語)
Takumi(日本語)
 先にMizukiをリリースしたが、カスタマーから男性の声が欲しいとのフィードバックがあった。
Vicki(ドイツ語)
 Denglishのデータベースから作成した。
Aditi(インド英語)

テキスト読み上げのコントロール

SSML。スピーチベースのアプリケーションにおけるスタンダード。
サンプル。
 subタグ。インラインで単語の読み上げエイリアスを設定できる。
 langタグ。指定した箇所だけ他の言語で読み上げる。例えば文章は英語だが名前だけ出身国の言語とか。
 say-as interpret-asタグ。不適切なコンテンツを消したり(ピー音を入れる)、ゆっくり話させたりする。
 prosodyタグでrateやpitchを変更できる。
Lexicon。発音をカスタマイズ出来る。単語に対して音の要素を関連付け。

SSMLによって楽しく

The Magic Doorの例

音声によるストーリーテーリングを提供するサービス。
 (ゲームブックの音声版)
Alexaで使える。
90万人のプレイヤー。
20時間に及ぶオリジナルストーリー。

Talestreamer

The Magic Doorのオーディオエンジン。
音声はAmazon Pollyで読み上げ。
バックグラウンドサウンドを流すことが出来る。

私達のプロセス。

XMLで物語を書く。
Amazon Pollyで音声化。
サウンドエフェクトを追加。
必要な場所に人間による音声を追加。
ローンチする。

テキスト読み上げのやり方

声優(声)を選び、SSMLで指示する。
スピード、ピッチによって声に種類が出来る。

句読点によって「ちょっと考えている」感じを出す。
音の要素を細かく指定することで癖を出す。
Breakで読みに区切りを入れる。
prosodyで速さや強弱を出す。

作成したSSMLをTalestreamerに入れるとバックグラウンドサウンドを入れた形で音声読み上げが出来る。

さいごに

Talestreamerは面白そうなので触ってみたいと思います。