【AWS】Amazon Pollyで入力したテキストを音声に変換する

今回は、入力したテキストを音声に変換するAmazon Pollyっていうやつを使っていきたいと思う。テキストを入力してそれが良い感じの音声になったら何かと使えそうだからね。今の音声作成技術がどんなものか見ていこう。ちなみにGCPのText-to-Speechを使った記事はこちら。

テキスト入力から音声を作成するAmazon Pollyとは

Amazon PollyはAmazonがやってるAWSっていう中にある1つのサービス。テキストから音声を生成することができるっていうもの。

Amazon Polly は、文章をリアルな音声に変換するサービスです。テキスト読み上げができるアプリケーションを作成できるため、まったく新しいタイプの音声対応製品を構築できます。Polly は、高度なディープラーニング技術を使用したテキスト読み上げ(TTS) サービスで、自然に聞こえるように人間の音声を合成します。何十種類ものリアルな音声を多数の言語でサポートしているため、さまざまな国に対応した音声アプリケーションを構築できます。

Amazon Pollyの音声を聞くことができるけど、こんな感じらしい。これは英語だからそこまで分からないけど、結構なクオリティな気がする。

Amazon Polly のニュースキャスターの声を聞く »

Amazon Polly の会話音声を聞く »

日本語もありました。女性と男性の音声がサンプルで用意されていて、「こんにちは、外国語を話せますか? 世界にはたくさんの言語があります。」と喋ってくれていますね。

Takumi

ちょっとたどたどしいけど、こんなもんなのかな。発音や声量・声の高さ・速度なんかもコントロールすることができるらしいから実際に使ってみると違うのかもしれない。

Amazon Polly は辞書と SSML タグをサポートしており、発音、声量、声の高さ、速度などの音声の「相」をコントロールすることができます。

次で実際に使ってみるからこのSSMLタグっていうやつで、どこまでいけるのかやってみたい。

AmazonPollyを使ってみる

AmazonPollyにはテキストを貼り付けてそれを読んでくれるものが備わっているらしい。

適当にテキストを書いて実行してみるとこんな感じの音声になる。

うーんって感じですね。これだと結構辿々しい。求めているのはこれじゃないんだ。

SSMLを使って発音、音量、ピッチ、話す速度を調整する

SSMLっていうタグを使ってテキストを囲むことで、発音なんかに影響を与えることができるみたい。

<speak>
He was caught up in the game.<break time="1s"/> In the middle of the
10/3/2014 <sub alias="World Wide Web Consortium">W3C</sub> meeting,
he shouted, "Nice job!" quite loudly. When his boss stared at him, he repeated
<amazon:effect name="whispered">"Nice job,"</amazon:effect> in a
whisper.
</speak>

サポートされているSSMLタグは結構あってこんな感じ。この他にもいくつかあるね。

これらを使えば、結構それらしい発音で話してくれるのではないだろうか?ちょっといくつか試してみるとこんな感じになった。

まだまだだけど、最初のものと比べると格段に良くなったのではないだろうか。最初のやつはこれ。

全然違うよね。そしていくつか追加したAmazon Pollyの文がこれ。感嘆符つけて、速度を速くしたり、ピッチを変えたりすることができるからそれらのタグを加えたって感じだね。

<speak >
<prosody rate="fast">
<amazon:effect phonation="soft">
サイトを見てくれて <prosody pitch="high">ありがとう! </prosody> アマゾンポリーを試しているよ?
</amazon:effect>
</prosody>
</speak>

APIとしても使えるみたい

AmazonPollyはAPIとしても提供されているみたいですね。というよりAWS使うならまあそっちがメインだよね。

Amazon Polly 用の API を使用すれば、アプリケーションに音声合成を簡単に統合できます。音声に変換するテキストを Polly API に送信するだけで、Amazon Polly からアプリケーションにオーディオストリームがすぐに返信されます。アプリケーションで直接ストリーミングを開始することも、MP3 のような標準的な音声ファイル形式で保存することもできます。

音声に変換するテキストをAmazonPollyのAPIに投げれば音声が返ってくるらしい。サンプルコードはこんな感じで、使う分には結構簡単そう。

ちなみにサポート言語はこんな感じみたいだからまあ使う分には困ることはないでしょうね。

AWS SDK (Java、Node.js、.NET、PHP、Python、Ruby、Go、C++) および AWS Mobile SDK (iOS/Android) に含まれるすべてのプログラミング言語がサポートされます。

ワードプレスのプラグインもある

どうやらワードプレス 用のプラグインもAmazonPollyにはあるようです。AWS側の設定がちょっと必要だから、プラグイン を入れるだけでできるっていうわけじゃないけどまさかワードプレス にも進出しているなんてね。

ワードプレスに音声追加したい!ってあんまりない気もするけど、追加したいなら使ってみるのもいいのかもしれない。

WordPressで作成したウェブサイトに音声を追加する

まとめ

ちょっと試してみたけど、まずまずっていった感じだろうか。圧倒的機械感っていうのはないけど、まだ機械感のある感じは否めないよね。ただいろんなSSMLタグを使って音声のカスタマイズをすることができるから結構良い。速さもピッチも発音も変えられるなら、結構良い感じのところまでいけそうですよね。

音声の作成にチャレンジしたかったら試してみるといいかもしれませんよ。

おすすめの記事