>100 Views
February 18, 26
スライド概要
Amazon Pollyの概要、基本の使い方、アプリケーションへの組み込み方についてご紹介します。
※今回ご紹介した内容は、2026年2月時点での情報です。
勉強会の動画は下記からご視聴可能です
https://youtu.be/nrUbNXS6bvc
アイレットの現場のノウハウが集まる場所。 AWS や Google Cloud、OCI をもっと身近に。 インフラから開発、AIまで。 現場のリアルな技術 Tips を公開中! 【 YouTube で公開している勉強会資料です。気になる内容は YouTube で是非ご覧ください!】 📺 https://www.youtube.com/@iret-channel
第186回 雲勉 【Amazon Polly入門】 リアルな音声合成とSDK連携の第一歩
講師自己紹介 ◼ 沖手 彩香 • クラウドインテグレーション事業部 ソリューション開発セクション • アイレット歴は3年半ほど • 好きなもの:音楽・お笑い・お酒 • ご質問は YouTubeのコメント欄で受け付けております。 後日回答させていただきます! 2
アジェンダ 1. はじめに 2. Amazon Pollyの概要 3. テキストを音声に変換する 4. SSMLで声を変えてみる 5. アプリに組み込んでみる 6. まとめ 3
1. はじめに 4
1. はじめに ◼ 本動画の目的 • Amazon Pollyの概要を理解すること • Amazon Pollyでどのようなことができるかイメージしていただくこと • Amazon Pollyを使ってみたいと思っていただくこと ◼ 本動画の対象者 • Amazon Pollyに興味はあるが、使ったことがない、使い方を知らない方 5
2. Amazon Pollyの概要 6
2. Amazon Pollyの概要 ◼ Amazon Pollyとは? • テキストをリアルな音声に変換するAWSのフルマネージドサービス • ディープラーニング技術を使用して自然な音声への変換を行う • 複数の言語をサポート • コンソール画面、AWS CLI、AWS SDKを使用して音声を生成できる 7
2. Amazon Pollyの概要 ◼ 料金体系 • 処理したテキストの文字数に応じて毎月課金されます。 • エンジンの種類によって、以下のように料金が変わります。 ※エンジンの種類については後ほど説明します。 ◆ スタンダード:100 万字で 4.00 USD ◆ ニューラル: 100 万字で 16.00 USD ◆ ロングフォーム: 100 万字で 100.00 USD ◆ 生成: 100 万字で 30.00 USD ※料金の最新情報については、公式サイトをご確認ください:https://aws.amazon.com/jp/polly/pricing/ 8
2. Amazon Pollyの概要 ◼ 活用例 • ゲームやeラーニングプラットフォームの音声 • 視覚障害者向けアプリケーションの音声 AlexaにもPollyの技術が 使われています! • コールセンターの応答音声 9
2. Amazon Pollyの概要 ◼ 活用例(生成AIとの組み合わせ) • AIチャットボットの回答をPollyで音声化する • Amazon Translateなどの機械翻訳サービスでの翻訳結果を Pollyがネイティブに近い発音で音声化する • 生成AIによるニュースの要約結果をPollyで読み上げる 直接テキストを入力してPollyに読ませるだけ(=単なる読み上げツール)ではなく、 生成AIサービスを完成させる重要なピースとして使われるようになっている ※公式サイトでも様々な事例が紹介されています: https://aws.amazon.com/jp/polly/customers/ 10
2. Amazon Pollyの概要 ◼ コンソール画面イメージ ←音声を再生 エンジン、言語、音声を選択 音声合成したいテキストを入力 11
3. テキストを音声に変換する 12
3.テキストを音声に変換する ◼ プレーンテキストでの音声変換 • Amazon Pollyのコンソール画面で、「テキスト読み上げ機能」を開く 初期状態で、 入力テキストにサンプルが入力されています 13
3.テキストを音声に変換する ◼ プレーンテキストでの音声変換 • テキストボックスに生成したい文章を入力 14
3.テキストを音声に変換する ◼ プレーンテキストでの音声変換 • 「音声を聴く」をクリックする • 読み上げられた音声がこちら 15
3.テキストを音声に変換する ◼ 補足 • 「S3に保存」をクリックすると、Amazon S3にバケットを指定して保存することができ ます。 • 「ダウンロード」をクリックすると、音声がmp3方式でダウンロードされます。 16
3.テキストを音声に変換する ◼ エンジンを変えてみる • エンジンは、以下4タイプから選択できます。 スタンダード 自然な音声を生成します ニューラル スタンダードよりも自然で人間に近い音声を生成できます ロングフォーム 生成 ニュース記事やトレーニング資料などの長文に適した音声を生成します(※) 生成AIを使用して音声合成します(※) • ロングフォーム音声は、現在、日本のリージョンでは使用できません。 (2025年12月末時点) • 生成音声は、現在、東京リージョンで使用できますが、日本語は非対応です。(2025年12月末時点) • 使用できる言語、リージョンの最新情報については、公式サイトをご確認ください: https://docs.aws.amazon.com/polly/latest/dg/voice-engines-polly.html 17
3.テキストを音声に変換する ◼ エンジンを変えてみる • 音声をニューラルに変え、「音声を聴く」をクリック • 読み上げられた音声がこちら スタンダードより 自然な音声になりました! 18
4. SSMLで声を変えてみる 19
4. SSMLで声を変えてみる ◼ SSMLとは? • 音声合成マークアップ言語 • 生成する音声について、 発音、音量、ピッチ、話す速度などを細かくカスタマイズすることができる 20
4. SSMLで声を変えてみる ◼ SSMLの使用方法 • SSMLをONにする 入力テキストがspeakタグで囲まれます。 (speakタグは、テキストにSSMLが使用されていることを表すタグです) 21
4. SSMLで声を変えてみる ◼ SSMLの使用方法 • SSMLタグを追加する breakタグは、文章中で一時停止するタグです。 (timeに1sを設定しているので、1秒間停止します) prosodyタグでは、音量や速度の属性を設定できます。 (volume属性を使い、音量を大きめにしています) • 読み上げられた音声がこちら 22
4. SSMLで声を変えてみる ◼ 補足 • エンジンの種類によってサポートされているタグが異なります。 • サポートされているタグの一覧については、公式サイトをご確認ください。 https://docs.aws.amazon.com/ja_jp/polly/latest/dg/supportedtags.html 23
5. アプリに組み込んでみる 24
5. アプリに組み込んでみる ◼ アプリの構成、処理の流れ ① テキスト入力し フロントエンド ② ( React, TypeScript ) テキストを送信 ボタンを押す バックエンド ③ ( FastAPI ) AWS認証情報を使い、 Boto3で合成リクエスト を送信 ⑥ ⑤ ④ 音声を再生 音声ストリームを 合成された (audioタグ使用) 返す 音声データを返す Amazon Polly 25
5. アプリに組み込んでみる ◼ フロントエンドの実装(一部抜粋) Audioタグに設定するURL、入力テキストを管理 ボタンクリック時にplayAudio(※後述)を実行 音声合成したいテキストの入力部分 音声合成結果の表示部分 26
5. アプリに組み込んでみる ◼ フロントエンドの実装(一部抜粋) パラメータを指定してAPIを呼び出す レスポンス結果をBlobに変換し、URLを生成 27
5. アプリに組み込んでみる ◼ バックエンドの実装(一部抜粋) Amazon Pollyに音声合成をリクエスト (音声タイプ、フォーマットなどを指定) Amazon Pollyから返ってきた音声データを ストリーミングで返す 28
5. アプリに組み込んでみる ◼ 実行結果 • 実際の画面でお見せします。 29
5. アプリに組み込んでみる ◼ 注意点 • Amazon Pollyにリクエストを送る際、VoiceIdとEngineの組み合わせが存在しない場合 エラーになる 例えば、 VoiceId:Mizukiはスタンダードでしか選択できないため、以下はエラーになります。 ↑Mizukiを選ぶ場合は、エンジンはstandardにする ※言語、エンジンの種類ごとに利用可能な音声は異なるので、以下公式サイトの一覧を確認して設定してください。 https://docs.aws.amazon.com/ja_jp/polly/latest/dg/available-voices.html 30
5. アプリに組み込んでみる ◼ 本番利用時に考慮すべき点 セキュリティ • IAMロールを使用し、最小権限を付与する • フロントエンドから直接Polly APIを叩かない(バックエンドを経由させる) • 不正入力を防ぐためのバリデーションチェックを行う コスト • キャッシュの活用(Amazon S3 と Amazon CloudFrontを使用し、同じ文章を再利用する) • 文字数制限をつける ユーザー体験 • ストリーミング形式で音声データを返すことで、待ち時間を短縮 • ローディング状態の可視化(スピナー表示など) • SSMLを使用してイントネーションや速度を調整して聞き取りやすくする • 適切なエンジンタイプを使用する 31
6. まとめ 32
6.まとめ ◼ 所感 • 想像以上に、手軽に音声が作成できると感じた • 会社名などの固有名詞のイントネーションは少し不自然なので、SSMLで微調整すること がサービスのクオリティを上げるために重要になる • 生成AIとの組み合わせによって、活用の幅が広がっていきそう • まだ日本語が対応されていない機能もいくつかあるので、今後対応されることを期待! • まずはコンソールからお手軽に試してみてください 33