Amazon Pollyは、渡したテキストを音声データに変換して返すAWSのマネージドサービスです。学習データの準備もGPUの手配も不要で、boto3から1回呼ぶだけで読み上げ音声が手に入ります。ただし日本語で使える話者は4人に限られ、話題になりやすい生成音声とロングフォームは日本語に提供されていません。この記事では、4つの音声エンジンの単価差、日本語4話者のエンジン対応、同期合成と非同期タスクの振り分け、発音カナとレキシコンによる読み修正、そして他のTTSへ回すべき場面を実装の順序で並べました。本文の数値と対応範囲は、2026年9月時点のAWS公式開発者ガイドと料金ページで1件ずつ照合しています。
まとめ:日本語案件はエンジンの対応範囲から設計を決める
検討でつまずく箇所は機能の多さではなく、日本語で使える範囲の見誤りです。着手前に確かめる点は3つ、話者はニューラルで足りるか、月間の文字数がいくらになるか、原稿1本が3,000文字を超えるかどうかになります。
日本語の話者はMizuki・Takumi・Kazuha・Tomokoの4人。このうちニューラルエンジンで使えるのはTakumi・Kazuha・Tomokoの3人で、生成エンジンとロングフォームエンジンには日本語音声が1つも用意されていません。英語のデモで聞ける表情豊かな生成音声は、日本語案件では再現できません。
費用は文字数だけで決まります。100万文字あたり標準4.00 USD、ニューラル16.00 USDで、日本語の現実的な選択はこの2つ。SSMLタグの文字は課金対象に入らないため、読みや間の指定を書き込んでも請求は増えません。
実装で最初に当たる壁は文字数上限でしょう。その場で音声が返るsynthesize_speechは課金対象3,000文字までで、記事1本を丸ごと読ませる用途には足りません。10万文字までまとめて処理する非同期タスクへ回し、結果をS3から受け取る形に切り替えてください。以下の各章には、根拠となる公式ドキュメントの該当ページと、boto3とAWS CLIでそのまま動く実装例を置いています。
Amazon Pollyの定義|テキスト読み上げを担うマネージドTTS
何が提供され、何が提供されないのかを先に押さえると、後続の設計判断が短くなります。
学習済みモデルをHTTPS APIから呼ぶだけで音声が返る構成
Pollyは、AWS側が学習を終えた音声合成モデルをHTTPS APIとして公開するサービスです。利用者はモデル構造もGPUインスタンスも触らず、テキストと話者名と出力形式を指定して呼ぶだけで音声ストリームを受け取ります。推論基盤の運用とモデル更新はAWS側の責任範囲です。サービスの位置づけと入出力の全体像はAmazon Polly開発者ガイドの概要にまとまっています。
入力はプレーンテキストとSSMLの2種類で、リクエストのTextTypeで切り替えます。出力形式はMP3、OGG Vorbis、PCMの3つ。サンプルレートは8 kHzから24 kHzまで選べ、既定値は標準音声が22 kHz、生成音声が24 kHzという違いがあります。
提供されないものも明確です。モデルの重みは取り出せず、オンプレミス環境やエッジ端末での実行もできません。原稿を社外へ送信できない案件では選択肢から外れるため、OSSのTTSを含めた方式比較から入る段階なら音声合成AIの作り方とOSS・クラウドAPIの方式選定を先に読んでください。
標準・ニューラル・生成・ロングフォームという4エンジンの品質差
音声品質はリクエストのEngineパラメータで決まります。標準は従来型、ニューラルは深層学習ベースで抑揚が自然な方式、ロングフォームは長文ナレーション向け、生成は会話らしい表情を狙った方式という並びです。
生成エンジンは10億パラメータ規模のトランスフォーマーを用いる構成で、2026年3月に8ロケールへ10音声が追加され、テキスト入力と音声出力を同時に流す双方向ストリーミングAPIの提供も始まりました。方式の説明と対応音声の一覧は生成音声のドキュメントにあり、2026年9月時点で43音声と記載されています。
品質の階段は単価の階段と一致します。100万文字あたりで標準4.00 USD、ニューラル16.00 USD、生成30.00 USD、ロングフォーム100.00 USDと、最上位と最下位で25倍の開きがある構造です。
同期合成と非同期タスクで異なる文字数上限と結果の受け取り方法
呼び出し経路は2つに分かれます。その場で音声が返る同期のSynthesizeSpeechと、ジョブを登録してS3へ出力させる非同期のStartSpeechSynthesisTaskです。分かれ目は原稿の長さで、どちらを選ぶかで結果の受け取り方まで変わります。
| 項目 | 同期(SynthesizeSpeech) | 非同期(SynthesisTask) |
|---|---|---|
| 課金対象文字数 | 3,000文字まで | 100,000文字まで |
| 総文字数の上限 | 6,000文字まで | 200,000文字まで |
| 出力の受け取り | レスポンスのストリーム | 指定したS3バケット |
| 音声の長さ上限 | 10分 | 明示された上限なし |
| 完了の把握 | 不要(即時返却) | SNS通知またはポーリング |
| レキシコン適用数 | 最大5個 | 最大5個 |
総文字数と課金対象文字数に2倍の差がある理由はSSMLです。タグの文字は課金対象に数えないため、本文3,000文字に対してタグ側へ3,000文字分の余地が残ります。表の数値はクォータのページと長い音声ファイルの手引きに記載された値です。
日本語で使える4話者|エンジン対応と生成音声が未対応である理由
英語圏の記事やデモ動画を基準に期待値を作ると、見積り後に食い違いが出ます。
Mizuki・Takumi・Kazuha・Tomokoの4話者とエンジン対応
日本語(ja-JP)の音声は4つ。公式の利用可能な音声の一覧が示すエンジン対応は次のとおりで、生成とロングフォームの列はいずれも未対応です。
| 音声名 | 性別 | 標準 | ニューラル | 生成 |
|---|---|---|---|---|
| Mizuki | 女性 | 対応 | 非対応 | 非対応 |
| Takumi | 男性 | 対応 | 対応 | 非対応 |
| Kazuha | 女性 | 非対応 | 対応 | 非対応 |
| Tomoko | 女性 | 非対応 | 対応 | 非対応 |
KazuhaとTomokoは2023年2月に追加された日本語のニューラル音声です。ニューラル品質を前提にすると3択で、内訳は女性2人と男性1人。男女で切り替える構成は組めますが、複数の男性話者を出し分ける台本は日本語では成立しません。
生成音声とロングフォームが日本語で未対応であることの設計影響
生成エンジンは43音声を揃えていますが、対象は英語系の各地域とオランダ語、フランス語、ドイツ語、イタリア語、韓国語、ポーランド語、ポルトガル語、スペイン語で、ja-JPは含まれません。ロングフォームも同じく日本語音声はありません。
設計への影響は2点あります。1点目は表現力の天井で、日本語では抑揚と自然さがニューラルの水準で止まる点です。2点目はSSMLの制約で、強調を指示するemphasisタグはニューラル以降のエンジンで使えないため、日本語でニューラルを選んだ時点で強調タグという手段が消えます。
東京リージョンで使える範囲と海外リージョンを併用する判断基準
生成エンジンが提供されるのはバージニア北部、フランクフルト、オレゴン、東京、ソウル、シンガポール、シドニー、ロンドン、カナダ中部、チューリッヒの10リージョンです(2026年9月時点)。東京は含まれるものの、日本語の生成音声が存在しないため、東京で生成エンジンを呼ぶ場面は英語コンテンツを扱うときに限られます。
双方向ストリーミングAPIの対応はやや狭く、バージニア北部、フランクフルト、オレゴン、シンガポール、シドニー、ロンドン、カナダ中部、チューリッヒの8リージョンで、東京は入っていません。ロンドン・カナダ中部・チューリッヒでは呼び出せる生成音声が22音声に絞られるという注記も付いています。
ここは言い切ります。日本語だけを扱う案件なら東京単独で組み、海外リージョンを増やさないでください。英語の対話音声も載せる多言語案件ではバージニア北部を併用し、原稿の所在に制約があるなら英語側も東京へ寄せて双方向ストリーミングを諦める判断が現実的です。
Amazon Pollyの料金体系|エンジン別単価と無料枠と費用の伸び方
インスタンス費用も最低利用料もないため、見積りは原稿の実文字数から逆算できます。
100万文字あたり4USDから100USDまで開くエンジン別単価
単価はエンジンごとに設定され、日本語で選べる範囲は上2段に限られます。
| エンジン | 100万文字あたり | 日本語音声 |
|---|---|---|
| 標準 | 4.00 USD | あり(2話者) |
| ニューラル | 16.00 USD | あり(3話者) |
| 生成 | 30.00 USD | なし |
| ロングフォーム | 100.00 USD | なし |
金額感を掴むために具体例を置きます。3,000文字の記事を毎日100本読み上げる構成なら月900万文字で、ニューラルなら約144 USD、標準なら約36 USD。差額は月100 USD強に収まり、品質と費用の選択は音声を聞いてから決められる規模です。
公式の料金ページには原稿の型ごとの実額も並んでいます。6,500文字前後のニュース記事1本なら標準0.03 USD、ニューラル0.10 USD。1ユーザーが月30,000文字を消費する対話アプリケーションでも、ニューラルで0.48 USDという水準です。合成済みの音声をキャッシュして再生する分に追加課金は発生しないと明記されているため、同じ文言を繰り返す通知音声はキャッシュ側で吸収できます。
12か月間の無料枠はエンジンごとに上限が10万から500万文字
無料枠はエンジンごとに条件が違います。標準は月500万文字で、料金ページに12か月という期限の記載がありません。一方でニューラル月100万文字、ロングフォーム月50万文字、生成月10万文字の3つは、最初の12か月に限るという条件が明記されています。
検証段階の判断材料としては、ニューラルの100万文字が目安になります。3,000文字の原稿なら約330本分で、機能検証と社内試聴には十分な量。一方で記事読み上げを常設する本番運用では月内に使い切るため、無料枠を前提にした費用計画は立てられません。
新規アカウントには2025年7月15日以降、最大200 USDのAWS無料利用枠クレジットが付与されます。サインアップ時に無料プランと有料プランを選べる仕組みで、無料プランはアカウント作成から6か月、クレジットは作成日から12か月以内に使い切る条件です。金額と条件は変わりうるため、見積り時点で料金ページを直接確認してください。
SSMLタグが課金対象外である点を踏まえた原稿と見積りの考え方
SSMLタグは課金対象文字に数えられません。間を空けるbreak、読みを指定するphoneme、話速や高さを触るprosodyをどれだけ書き込んでも請求額は変わりません。品質を上げる手数に費用の遠慮が要らない、という性質です。
この性質は原稿の作り方に効いてきます。読み間違いをSSMLで直しても費用は増えないため、案件単位の細かい調整はSSML側へ寄せて構いません。全リクエストへ一律に効かせたい社名や製品名の読みだけレキシコンで持つほうが、保守は楽になるでしょう。見積りは「原稿の実文字数 × エンジン単価」で読めます。
boto3で音声を作る手順|IAM設定から同期合成と非同期タスクまで
同期合成から始めて、原稿が長くなった段階で非同期へ差し替える順序が扱いやすいでしょう。
IAM権限と出力先S3バケットを先に固めておく前提条件の整え方
準備は権限と出力先の2つです。同期合成だけなら合成呼び出しの権限で足りますが、非同期タスクを使う段階でS3とSNSが絡んできます。
polly:SynthesizeSpeech:同期合成に必要polly:StartSpeechSynthesisTask:非同期タスクの登録に必要- 出力先バケットへの書き込み権限:非同期タスクの結果保存に必要
sns:Publish:完了通知をトピックへ流す場合のみpolly:PutLexicon:発音辞書を登録・更新する場合のみ
非同期タスクまで含めた構成のIAMポリシーは次の形になります。S3のリソースは出力先バケットとプレフィックスまで絞ってください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"polly:SynthesizeSpeech",
"polly:StartSpeechSynthesisTask",
"polly:GetSpeechSynthesisTask"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::issoh-tts-output/polly/*"
},
{
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:ap-northeast-1:123456789012:polly-done"
}
]
}
非同期合成向けのIAM設定は長い音声ファイルの手引きにも整理されています。リージョンはクライアント生成時に指定します。日本語のニューラル音声は東京でも呼べるため、東京固定で構いません。逆方向の音声認識を同じ案件で扱うなら、Amazon Transcribeの料金と日本語対応で役割を分けてください。
課金3000文字までに収める同期合成の最小コードと戻り値の扱い
最小構成は、boto3でpollyクライアントを作り、synthesize_speechにテキストと出力形式と話者名とエンジン名を渡すだけです。日本語のニューラルなら話者はTakumi、エンジンはneuralを指定します。
import boto3
polly = boto3.client("polly", region_name="ap-northeast-1")
res = polly.synthesize_speech(
Text="本日の受付は午後5時で終了します。",
TextType="text",
OutputFormat="mp3",
VoiceId="Takumi",
Engine="neural",
SampleRate="24000",
)
with open("out.mp3", "wb") as f:
f.write(res["AudioStream"].read())
res["AudioStream"].close()
print(res["RequestCharacters"])
戻り値のAudioStreamはストリーミング形式のオブジェクトで、読み出してファイルへ書き出す流れになります。読み終わったら明示的に閉じてください。引数と戻り値の全項目はboto3のsynthesize_speechリファレンスで確認できます。
レスポンスにはRequestCharactersとして課金対象文字数が返ります。ここを合算してログへ残しておくと、請求額の内訳を後から説明できるようになります。テキストが上限を超えた場合は合成前に文字数超過の例外が返るため、投入前に長さを判定して分割経路へ回す実装が必要です。
10万文字を超える長い原稿を非同期タスクへ回す実装の5つの手順
非同期タスクは登録と回収の2段構えです。手順は次の流れになります。
- 出力先のS3バケットとプレフィックスを決める
start_speech_synthesis_taskに原稿と出力先バケット名を渡す- 返ってきたタスクIDを保存する
- SNSトピックの完了通知を受けるか、タスク取得APIで状態を確認する
- 完了後に返る出力先のURIから音声ファイルを取得する
登録から状態確認までをポーリングで書くと、実装は次の形に収まります。
import time
import boto3
polly = boto3.client("polly", region_name="ap-northeast-1")
with open("draft.txt", encoding="utf-8") as f:
manuscript = f.read()
task = polly.start_speech_synthesis_task(
Text=manuscript,
OutputFormat="mp3",
VoiceId="Kazuha",
Engine="neural",
OutputS3BucketName="issoh-tts-output",
OutputS3KeyPrefix="polly/2026/",
SnsTopicArn="arn:aws:sns:ap-northeast-1:123456789012:polly-done",
)
task_id = task["SynthesisTask"]["TaskId"]
while True:
state = polly.get_speech_synthesis_task(TaskId=task_id)["SynthesisTask"]
if state["TaskStatus"] in ("completed", "failed"):
print(state["TaskStatus"], state.get("OutputUri"), state.get("TaskStatusReason"))
break
time.sleep(5)
登録時のパラメータはboto3のstart_speech_synthesis_task、返り値の項目名はStartSpeechSynthesisTaskのAPI仕様に載っています。出力先バケットの暗号化を有効にしておけば、生成された音声はAES-256で保存されます。
1タスクの課金対象は100,000文字までなので、書籍1冊のような原稿は分割が要ります。切る位置は章や節の境目に置き、文の途中で切らないでください。継ぎ目の抑揚が不自然になります。
AWS CLIで日本語4話者の試聴サンプルを作って聞き比べる手順
見積り前に済ませておきたい作業が1つあります。日本語4話者の音声を実際に作り、依頼元に聞いてもらうことです。エンジンの組み合わせは話者ごとに決まっているため、Mizukiは標準、Takumi・Kazuha・Tomokoはニューラルで呼び分けます。
aws polly synthesize-speech --region ap-northeast-1 \
--engine standard --voice-id Mizuki --output-format mp3 \
--text "受付時間は午前9時から午後5時までです。" sample_mizuki.mp3
aws polly synthesize-speech --region ap-northeast-1 \
--engine neural --voice-id Takumi --output-format mp3 \
--text "受付時間は午前9時から午後5時までです。" sample_takumi.mp3
aws polly synthesize-speech --region ap-northeast-1 \
--engine neural --voice-id Kazuha --output-format mp3 \
--text "受付時間は午前9時から午後5時までです。" sample_kazuha.mp3
aws polly synthesize-speech --region ap-northeast-1 \
--engine neural --voice-id Tomoko --output-format mp3 \
--text "受付時間は午前9時から午後5時までです。" sample_tomoko.mp3
4本のMP3が揃ったら、社名・製品名・数字を含む同じ原稿で聞き比べてください。読み間違いの箇所が、そのまま発音カナとレキシコンの作業リストになります。課金対象は原稿の文字数×4本で、20文字の原稿なら80文字分。無料枠の内側で終わる作業量です。
試聴サンプルの作成から業務システムへの組み込み、読み辞書の運用設計までまとめて任せたい場合は、AI音声認識システム開発で扱っている音声系の受託範囲を確認してください。
ニューラル音声のスロットリング上限が並列処理の設計を縛る条件
見落としやすいのがスロットリングです。同期呼び出しの上限は標準が80 tps(バースト100)で同時実行80件、ニューラルは8 tps(バースト10)で同時実行18件。非同期側は標準10 tps(バースト12)、ニューラル10 tps、ロングフォームと生成が各1 tpsになります。
別枠のクォータもあります。生成とロングフォームの同時実行は各26件まで、双方向ストリーミングのStartSpeechSynthesisStreamは8 tpsで同時8件。レキシコンの取得・登録・削除・一覧は4操作の合計で5 tps(バースト10)なので、辞書の一括登録もここに当たります。いずれもクォータのページに一覧化されています。
設計への落とし込みは単純です。ニューラルの同期呼び出しで毎秒8件を超える設計は成立しないので、1,000件の原稿を一斉に投げる処理はキューを挟んで流量を絞り、公式が勧めるとおりバックオフとジッタを入れた再試行を実装してください。即時性が要らないバッチなら、非同期タスクへ寄せるほうが1タスク10万文字を扱えて有利になります。
日本語の読み間違い対策|発音カナとレキシコンを使った指定方法
日本語のTTSで工数を食うのは固有名詞です。社名、製品名、地名、人名は初期状態で読み間違えるものとして、修正手段を2つ用意しておきます。
発音カナで読みを指定するphonemeタグとアクセント記号の書き方
SSMLのphonemeタグは、alphabet属性で表記体系を選びます。日本語では発音カナ(x-amazon-pron-kana)とヨミガナが使えます。
発音カナはカタカナで音を書き、アポストロフィでピッチの下がり目を示す記法です。アポストロフィが無ければ平板型として扱う決まりです。人名「浩一」を「ヒロカ」の後で下げて読ませたい場合は、カタカナ表記の該当位置にアポストロフィを入れます。ふりがなが表記の補助である一方、発音カナは実際の音とアクセントを表す点が違います。
レキシコンは100個まで・アカウント単位で管理する運用ルール
レキシコンは発音辞書をアカウント側に置く仕組みです。上限はアカウントあたり100個、1個のサイズが40,000文字、辞書名は英数字20文字以内、1リクエストへ適用できるのは5個まで、phonemeやalias1件あたりの置換文字列は100文字以内という制約になります。辞書のサイズが同期合成の遅延に影響する点も、クォータのページに注記されています。
適用条件で引っかかりやすいのは言語の一致でしょう。辞書の言語と話者の言語が違うと適用されないため、日本語音声に当てる辞書はja-JPで作ります。
運用は1本に集約する形が扱いやすい方式です。社内用語集をレキシコン1つにまとめ、更新は登録APIで上書きします。原稿にタグを埋め込まないため、辞書を直せば過去の原稿も次回合成から正しく読まれる仕組みです。登録・取得・削除の具体的な手順はレキシコンの管理にまとまっています。
subタグとsay-asで読み替える場合のエンジン別の対応範囲
読み替えの手段はもう2つあります。略語を別の語として読ませるsubタグは全エンジンで使え、数値や日付の読み方を指示するsay-asはニューラルで部分対応、ロングフォームと生成では全対応です。
使えないタグも把握しておいてください。強調のemphasis、呼吸音の自動挿入、ささやき声、声質を変えるタグは、ニューラル・ロングフォーム・生成のいずれでも使用不可です。音声ファイルを差し込むaudioや話者を切り替えるvoiceなど4つのタグは、エンジンを問わず未対応と公式に明記されています。標準・ニューラル・ロングフォームで未対応タグを送るとエラーが返ります。breakは最大10秒、prosodyの話速は-80%を下回る指定ができません。
日本語でニューラルを選ぶと強調タグが落ちるため、代替を先に決めます。言いたい語を文頭へ寄せる、句点で切る、breakで直前に間を作る、の3つが基本となる手段です。加えてダイナミックレンジ圧縮のamazon:effect name="drc"はニューラルで全対応とSSMLタグの対応表に記載があり、聞き取りにくい箇所の音量差を詰める手段として残っています。
採用判断|Amazon Pollyを選ぶ条件と他のTTSへ回す場面
ここまでの制約を踏まえて、採用と見送りの線を条件で引きます。
Pollyの採用条件は日本語の定型読み上げと従量課金の噛み合い
次の3つが揃うならPollyが第一候補です。日本語の定型テキストを読ませる用途であること、月間の文字数が見積れること、システムがAWS上で完結していること。案内放送、通知メッセージ、記事の読み上げ、電話応答のガイダンスはこの条件に収まります。
特にAmazon Connectで電話応答を組む案件は迷う余地がありません。同一クラウド内で音声合成を呼べるため、外部APIの認証と通信経路を別に設計する手間が消えます。同じAWSのAIサービスを画像側でも並べて検討している段階なら、Amazon Rekognitionとはで料金と実装の型を比べてください。読み上げを既存の業務システムへ組み込む工程まで含めて相談したい場合は、生成AI開発・AI受託開発で扱っている範囲を確認してください。
逆にAWSを使っていない案件で、音声合成だけのためにアカウントを起こす価値は慎重に見ます。月4 USDや16 USDに対しIAM設計とS3運用が加わる釣り合いで判断してください。
感情表現が要件なら日本語のPollyを見送るという判断と代替手段
言い切ります。日本語で「感情のこもったナレーション」「会話らしい抑揚」が要件に入るなら、Pollyは見送ってください。日本語の表現力はニューラルが上限で、生成エンジンに日本語音声は無く、強調タグも使えません。3つの制約が同時に効くため、要望に対して手段が残りません。
代替はクラウドTTSの横並び比較へ戻ります。日本語で感情や話者スタイルを指示したい場合の実装例はGemini API TTSの実装と料金にまとめました。声質を作り込む要件にはBrand Voiceというカスタム音声の枠組みもありますが、個別相談が前提で従量課金とは進め方が違います。
失敗の型は決まっています。英語の生成音声デモで品質を判断し、日本語で作ってから期待と違うと分かるパターンです。見積り前に日本語4話者の実サンプルを作り、聞いてもらってから台本を書き始めてください。
Speech Marksで字幕を同期させる案件でのエンジン制約
Speech Marksは、語や文の開始位置、口の形(ビセーム)、SSMLに置いたマークのタイムスタンプをJSONで返す機能です。字幕を音声に合わせる処理やアバターのリップシンクで使います。公式のSpeech Marksの説明は、対応エンジンをニューラル・ロングフォーム・標準の3つと明記しています。
課金は音声と同じ扱いなので、音声とSpeech Marksを別々に取ると同じ原稿へ2回課金されます。必要な案件では文字数を2倍で見積ってください。
エンジン制約も1つあります。生成エンジンではSpeech Marksが提供されていません。日本語はニューラルまでなので当面の支障はありませんが、将来日本語の生成音声が追加されたときに乗り換えられない機能だと理解しておく必要があります。字幕同期が要件の案件はニューラル固定で設計し、生成エンジンへの移行を前提に置かないでください。
よくある質問
Amazon Pollyの検討時に実際に検索されている質問へ、実装と契約の観点から答えます。
Amazon Pollyで作った音声は商用利用できますか?
AWSの利用規約に沿う範囲で、商用の制作物に使えます。ナレーターへ支払う追加のライセンス料は発生せず、費用は合成した文字数分の従量課金だけです。合成済みの音声をキャッシュして再生する分にも追加料金はかかりません。ただし実在する人物の声に似せる用途や、合成音声であることの明示が求められる業種では別の検討が要ります。放送や公共案内など規制のある領域では、契約前に法務側の確認を通してください。
Amazon PollyとAmazon Transcribeの違いは何ですか?
変換の方向が逆です。Pollyはテキストから音声を作るText-to-Speech、Transcribeは音声からテキストを作る音声認識にあたります。両方を組み合わせると、電話の音声を文字にして内容を判定し、応答文を音声で返す流れが組めるでしょう。課金単位も違い、Pollyは文字数、Transcribeは音声の長さで計算されます。
無料枠を超えたあとの課金はどう計算されますか?
エンジンごとの単価に、合成した文字数を掛けた金額です。ニューラルなら100万文字あたり16.00 USDで、月の無料枠100万文字を使い切った分から超過分だけが課金対象になります。SSMLタグの文字は数に入りません。ニューラル・ロングフォーム・生成の無料枠は最初の12か月に限られるため、13か月目は1文字目から課金対象です。標準の月500万文字については料金ページに期限の記載がないので、条件は見積り時点で確認してください。エンジンを混在させる構成では、標準とニューラルを別々に集計します。
生成した音声ファイルはどこに保存されますか?
同期呼び出しでは音声がレスポンスのストリームとして返るだけで、保存先は呼び出し側が決めます。読み出してファイルへ書くか、そのままHTTPレスポンスへ流す形です。非同期タスクでは、指定したS3バケットへPollyが直接書き込み、完了時に出力先のURIが返ります。バケット暗号化を有効にしておけばAES-256で保存される仕組みです。どちらの経路でもPolly側に音声は残らないため、同じ原稿を繰り返し読ませる用途では生成済み音声をキャッシュすると課金を抑えられます。
日本語で話す速さや高さを変えられますか?
SSMLのprosodyタグで話速、高さ、音量を指示できます。ニューラルエンジンでは部分対応という位置づけで、話速は-80%を下回る指定ができません。強調のemphasisタグはニューラル以降で使えないため、日本語のニューラル音声では強弱をタグで付けられない点に注意してください。間を調整したい場合はbreakタグで最大10秒までの無音を挿入します。音量差を詰めたいだけならamazon:effect name="drc"がニューラルで全対応です。
関連記事
- 音声合成AIの作り方:OSSとクラウドAPIを比べて方式から決める段階の記事です
- 音声合成ソフト比較:法人向けソフトの選び方と商用利用ライセンスの整理です
- Amazon Lexとは:Pollyと組み合わせる対話ボット側の仕組みです
- Amazon Rekognitionとは:同じAWSのAIサービス群を実装視点で扱いました
- Gemini 3.1 Flash TTS:他社の低遅延TTSと位置づけを比べる参照先です