先日、友人に音声読み上げを相談されたので調査。
テキストから音声を生成するAIはたくさんあるが、細かいコントロールができない。
Amazon Polly はできそうだったので、基本的な使い方を調査しました。
Amazon Polly とは
テキストを肉声に近い音声に変換するクラウドサービスです。
無料利用枠
最初の12ヶ月間、標準音声で500万文字、ニューラルボイスで100万文字、長文形式音声で50万文字、ジェネレーティブボイスで10万文字が利用できます。
詳しくはこちら
今回の利用目的
飲食店を経営している友人なので、「大繁盛店!」など、明るく抑揚をつけた音声が欲しいらしい。
使ってみる
まずはサービスサイトにアクセス。
「Pollyを試す」でサービスのコンソール画面に入ります。(AWSアカウントがある前提)
ニューラルとスタンダードがあります。
二つの音声を比べてみましょう。
まずは「ニューラル」の「Kazuha」さん
Kazuha_mp3
続いて、「スタンダード」の「Mizuki」さん
Mizuki_mp3
ニューラルの方が良さそうですね。
このまま「ニューラル」の「Kazuha」さんで進めます。
1. テキストをそのまま読ませてみる
「大繁盛店!」を4パターンで読ませてみました。音声はこちら。
以下の2パターンが良さそうですね。
- 大繁盛店!
- だい はん じょう てん!
2. SSML(Speech Synthesis Markup Language)を使ってみる
それでは、ここからさらにコントロールしてみましょう。
画面右側に「SSML」があるので、これをONにします。
SSMLは「Speech Synthesis Markup Language」の略で、これを使用すると、音声の選択、単語の発音の変更、休止の追加など、音声出力を変更できるそうです。(ドキュメント)
ドキュメントをざっくり読んで、調整してみました!
音声はこちら
今回の入力テキスト
<speak>
大繁盛店!
立川、居酒屋
<prosody rate="110%">
<sub alias="かい ぞく">家偉族</sub>の、<prosody volume="x-loud" rate="120%" >スペシャル コー ス!</prosody>
</prosody>
</speak>
今回やってみた調整方法は、以下の通り。
- prosodyタグのrate属性で音声の速度を調整
- 感嘆符や句読点で強調や間を調整
- subのalias属性で読み方を固定
- aliasの文字列にスペースを入れて、イントネーションを微調整
- prosodyのvolume属性で音量を調整
まとめ
今回は、Amazon Pollyにおける音声のコントロール方法を検証しました。
まだまだ改良の余地がありますが、可能性は見えたと思います。