目次Category
はじめに
今回は、Amazon Pollyを利用して、入力したテキストから音声を生成します。
Amazon Pollyは、テキストを自然な音声に変換できるAWSの音声合成サービスです。
今回はAWSマネジメントコンソールから実際に日本語の音声を生成しながら、 音声エンジンやVoice、出力形式などの設定を確認します。
さらに、生成した音声をMP3形式でAmazon S3へ直接保存します。 また、SSMLを利用した読み上げ方の調整についても確認します。
今回構築する全体像
今回のハンズオンでは、AWSマネジメントコンソールからAmazon Pollyへテキストを入力し、 音声を生成します。

入力テキスト
↓
Amazon Polly
↓
音声を生成
↓
Amazon S3
↓
MP3ファイルとして保存入力した文章をAmazon Pollyへ渡し、選択した音声エンジンやVoiceを利用して音声へ変換します。
生成した音声はその場で再生できるほか、 Amazon Pollyの「S3 に保存」を利用してAmazon S3へ直接保存できます。
今回のポイント
S3へ保存した音声ファイルは、Amazon Transcribeなど、 音声ファイルを利用する別のAWSサービスへ連携することもできます。
Amazon Pollyとは
Amazon Pollyは、入力したテキストを音声に変換する Text-to-Speech(TTS:音声合成)サービスです。
AWSマネジメントコンソールから手軽に試すことができるほか、 APIやAWS SDKを利用してWebアプリケーションなどへ組み込むこともできます。
ポイント
Amazon Pollyは、入力した文章の内容を考えたり回答を生成したりするサービスではなく、 与えられたテキストを音声へ変換するサービスです。
各機能の役割
| 項目 | 役割 | 簡単に表すと |
|---|---|---|
| Amazon Polly | テキストを音声へ変換する | 文章をしゃべる |
| エンジン | 音声を生成する方式を選択する | 音声の作り方 |
| 音声(Voice) | 読み上げる声を選択する | 誰がしゃべるか |
| SSML | 間などの読み上げ方を調整する | しゃべり方の調整 |
| 出力形式 | 生成する音声ファイルの形式を指定する | 音声の保存形式 |
| Amazon S3 | 生成した音声ファイルを保存する | 音声を保管する |
Amazon Pollyを利用するメリット
- ・テキストを用意するだけで音声を生成できる
- ・複数の言語やVoiceを利用できる
- ・用途に応じて音声エンジンを選択できる
- ・SSMLを利用して読み上げ方を調整できる
- ・APIやAWS SDKから利用できる
- ・音声合成用のサーバーやモデルを自分で管理する必要がない
事前に人がすべての音声を録音する必要がなく、 読み上げる文章を変更することで新しい音声を生成できます。
Amazon Pollyの主な用途
- ・Webサイトやアプリの文章読み上げ
- ・ニュースや記事の音声化
- ・eラーニング教材のナレーション
- ・電話の自動音声案内
- ・アクセシビリティ対応
- ・アプリやサービスからの音声通知
構築手順
Step1 Amazon Pollyを開く
はじめに、AWSマネジメントコンソールからAmazon Pollyを開きます。
設定手順
- AWSマネジメントコンソールへログインします。
- 検索欄から「Amazon Polly」を検索します。
- Amazon Pollyを開きます。
- 「テキスト読み上げ機能」の画面へ移動します。
Step2 音声エンジンを設定する
Amazon Pollyでは、音声を生成するときに使用する音声エンジンを選択できます。
| エンジン | 特徴 |
|---|---|
| スタンダード | 基本的な音声合成 |
| ニューラル | ニューラル技術を利用した、より自然な音声 |
| ロングフォーム | 長い文章の読み上げを想定した音声 |
| 生成 | 生成技術を利用した表現力の高い音声 |
今回の設定
今回は、利用する日本語音声に対応したスタンダードエンジンを選択して進めます。
Step3 言語と音声を設定する
続いて、読み上げる言語と音声(Voice)を設定します。
| 項目 | 設定内容 |
|---|---|
| 言語 | 日本語 |
| 音声(Voice) | 日本語に対応した音声 |
Step4 テキストから音声を生成する
テキスト入力欄に、読み上げさせたい文章を入力します。
こんにちは。
Amazon Pollyを使った音声生成のテストです。- 読み上げたいテキストを入力します。
- エンジン・言語・音声を確認します。
- 「音声を聴く」を選択します。
- 入力した文章が音声として再生されることを確認します。
Step5 音声ファイルの出力形式を設定する
Amazon Pollyでは、その場で音声を再生するだけでなく、 生成した音声をMP3などの音声ファイルとして出力できます。
今回は「その他の設定」から音声ファイル形式を設定します。
- 画面下部の「その他の設定」を開きます。
- 「音声ファイル形式の設定」をONにします。
- 「サンプルレート」を設定します。
- 「ファイル形式」で「MP3」を選択します。
| 項目 | 設定内容 | 内容 |
|---|---|---|
| 音声ファイル形式の設定 | ON | 音声ファイルの形式やサンプルレートを指定します。 |
| サンプルレート | 22050 Hz | 1秒間に音声を何回サンプリングするかを指定します。 |
| ファイル形式 | MP3 | 生成する音声ファイルの形式を指定します。 |
Step6 S3バケットを作成する
Amazon Pollyから音声ファイルを直接保存するため、 あらかじめAmazon S3に保存先となるバケットを作成します。
設定手順
- AWSマネジメントコンソールから「S3」を検索します。
- Amazon S3を開きます。
- 「バケットを作成」を選択します。
- 任意のバケット名を入力します。
- Amazon Pollyを利用しているリージョンと同じリージョンを選択します。
- 設定内容を確認し、「バケットを作成」を選択します。
ポイント
PollyからS3へ音声を保存する場合、 S3バケットは合成タスクリクエストと同じリージョンに作成します。 また、操作するIAMユーザーには対象バケットへ書き込むための権限が必要です。
Step7 Amazon PollyからS3へ音声を保存する
S3バケットを作成したら、Amazon Pollyの「S3 に保存」を利用して、 生成した音声ファイルをS3へ直接保存します。
設定手順
- Amazon Pollyの「テキスト読み上げ機能」へ戻ります。
- 入力テキスト、音声エンジン、言語、音声を確認します。
- 出力形式が「MP3」になっていることを確認します。
- 「S3 に保存」を選択します。
- 「S3 出力バケット」でStep6で作成したS3バケットを指定します。
- 必要に応じて「S3 キープレフィックス」を設定します。
- 必要に応じて「通知の SNS トピック」を設定します。
- 設定内容を確認し、音声合成タスクを実行します。
S3保存時の設定
| 項目 | 設定 | 内容 |
|---|---|---|
| S3 出力バケット | 作成したS3バケット | 生成した音声ファイルの保存先を指定します。 |
| S3 キープレフィックス | 今回は未設定 | S3に保存するオブジェクトのキーの先頭に付ける文字列を指定できます。 |
| 通知の SNS トピック | 今回は未設定 | 音声合成タスクの状態をSNSで通知したい場合に指定します。 |
ポイント
「S3 キープレフィックス」と「通知の SNS トピック」は省略可能です。 今回はAmazon PollyからS3へ音声ファイルを保存する基本的な流れを確認するため、 どちらも設定せずに進めます。
今回の構成
入力テキスト
↓
Amazon Polly
↓
音声合成タスク
↓
Amazon S3
↓
MP3ファイルStep8 S3に保存された音声ファイルを確認する
音声合成タスクを実行したら、Amazon S3を開いて音声ファイルが保存されていることを確認します。
- Amazon S3を開きます。
- 保存先に指定したS3バケットを開きます。
- 生成されたMP3ファイルが保存されていることを確認します。
- オブジェクトの詳細を確認します。
確認ポイント
- ・指定したS3バケットに音声ファイルが保存されていること
- ・MP3形式で出力されていること
- ・オブジェクトのサイズが0バイトになっていないこと
次のハンズオンへの連携
今回S3へ保存したMP3ファイルは、 Amazon Transcribeで音声をテキストへ変換する際の入力ファイルとして利用できます。
Step9 SSMLで読み上げ方を変更する
Amazon Pollyでは、SSML(Speech Synthesis Markup Language)を利用して、 文章の読み上げ方を調整できます。
通常のテキスト入力では文章をそのまま読み上げますが、 SSMLを利用すると、文章の途中に間を入れるなど、読み上げ方を指定できます。
- 「入力テキスト」の右側にある「SSML」をONにします。
- 入力欄にSSML形式のテキストを入力します。
- 「音声を聴く」を選択します。
- 通常のテキスト入力との読み上げ方の違いを確認します。
<speak>
こんにちは。
<break time="1s"/>
Amazon Pollyのテストです。
</speak>| 記述 | 意味 |
|---|---|
<speak> ~ </speak> | SSMLとして読み上げる範囲を指定します。 |
<break time="1s"/> | 読み上げの途中に1秒間の間を入れます。 |
動作確認
| 確認項目 | 確認内容 |
|---|---|
| 通常テキスト | 入力した文章から音声を生成・再生できること |
| 音声(Voice) | Voiceを変更すると声質や聞こえ方が変化すること |
| S3への保存 | Amazon Pollyから指定したS3バケットへ音声を直接保存できること |
| 音声ファイル | S3にMP3形式の音声ファイルが作成されていること |
| SSML | 指定した位置に約1秒の間が入ること |
確認結果
Amazon Pollyでテキストから音声を生成し、 「S3 に保存」を利用してMP3形式の音声ファイルをAmazon S3へ直接保存できることを確認しました。 また、SSMLを利用して読み上げ方を調整できることも確認できました。
実際のシステムではどう使う?
今回のハンズオンでは、AWSマネジメントコンソールから音声を生成し、 Amazon Pollyの機能を利用してS3へ保存しました。
実際のシステムでは、APIやAWS SDKを利用してAmazon Pollyを呼び出し、 音声生成を自動化する構成が考えられます。
例1 Webサイトの記事を読み上げる
ユーザー
↓
Webサイト
↓
読み上げたい文章
↓
API Gateway
↓
Lambda
↓
Amazon Polly
↓
音声データ
↓
ユーザーへ再生例2 生成した音声をS3へ保存する
テキスト
↓
Amazon Polly
↓
音声生成
↓
Amazon S3
↓
必要なときに再生・他サービスで利用固定された案内文などを繰り返し利用する場合は、 生成した音声をAmazon S3へ保存して再利用する方法も考えられます。
導入時に考えるポイント
| 項目 | 確認内容 |
|---|---|
| 音声の保存方法 | 毎回生成するか、S3へ保存して再利用するかを検討する |
| IAM | PollyやS3を利用するために必要な権限のみ付与する |
| リージョン | Pollyの合成タスクとS3出力バケットのリージョンを確認する |
| 音声エンジン | 用途、Voice、音声品質などを確認して選択する |
| S3のアクセス設定 | 音声ファイルを不用意に外部公開しないよう、用途に応じてアクセス権限を設定する |
料金
Amazon Pollyは、主に音声へ変換した文字数をもとに料金が発生します。
利用する音声エンジンによって料金が異なるため、 実際に導入する場合は、読み上げるテキストの文字数や利用する音声エンジンなどを確認します。
今回のようにAmazon S3へ音声ファイルを保存する場合は、 Pollyの料金だけでなく、S3のストレージ使用量やリクエストなどの料金についても確認が必要です。
ハンズオン終了後の確認
今回は、Amazon Pollyで生成したMP3ファイルを保存するためにAmazon S3のバケットを作成しました。
S3へ保存した音声ファイルを続けてAmazon Transcribeなどのハンズオンで使用する場合は、 バケットと音声ファイルをそのまま残しておきます。
今回のハンズオンでは
S3に保存したMP3ファイルを次のハンズオンでも利用する場合は、 S3バケットとMP3ファイルは削除せずに残しておきます。
すべての検証が終了し、今後利用しない場合は、不要なS3オブジェクトやバケットを削除します。
まとめ
今回は、Amazon Pollyを利用してテキストから音声を生成し、 「S3 に保存」を利用して生成した音声ファイルをAmazon S3へ直接保存しました。
- ・Amazon Pollyでテキストから音声を生成する
- ・エンジンや音声(Voice)を設定する
- ・MP3形式で音声を出力する
- ・Amazon PollyからAmazon S3へ音声ファイルを直接保存する
- ・SSMLを利用して読み上げ方を調整する
Amazon Pollyは、簡単に表すと 「テキストを音声へ変換するサービス」です。
Amazon S3などのAWSサービスと組み合わせることで、 生成した音声を保存・再利用したり、別のサービスへ連携したりできます。
次は、今回S3へ保存した音声ファイルをAmazon Transcribeへ渡し、 「音声からテキストへの変換」を確認していきます。
同じカテゴリーの記事
同じカテゴリの記事を読む