Amazon Polly で実装するテキスト読み上げ - ニューラル音声と SSML による音声制御
ニューラル TTS エンジンで自然な音声を生成し、SSML タグで発話速度・ピッチ・間を制御する。リアルタイムストリーミングと S3 への非同期合成で多様な音声コンテンツを構築する方法を解説します。
Polly の概要
Amazon Polly はテキストを自然な音声に変換するテキスト読み上げ (TTS) サービスです。ニューラル TTS エンジンは深層学習モデルを使用し、従来の標準 TTS エンジンと比較して格段に自然な発話を生成します。日本語を含む 30 以上の言語、60 以上の音声をサポートし、男性・女性・子供の声を選択できます。日本語のニューラル音声は Kazuha と Tomoko が提供されています。Generative エンジンは最新の基盤モデルを使用した最高品質の音声で、現在英語で利用可能です。Long-Form エンジンは書籍やニュース記事などの長文コンテンツに最適化されており、段落間の自然な間や抑揚を自動的に調整します。
SSML と音声制御
SSML (Speech Synthesis Markup Language) タグでテキストの読み上げ方を細かく制御できます。 タグで発話速度 (rate)、ピッチ (pitch)、音量 (volume) を調整し、 タグで任意の位置に間を挿入します。 タグで特定の単語の発音を IPA (国際音声記号) で指定でき、固有名詞や専門用語の読み間違いを防ぎます。 タグで数字の読み方 (電話番号、日付、通貨) を指定し、 タグで強調を加えます。レキシコンを登録すると、特定の単語やフレーズの発音をグローバルに上書きでき、SSML を毎回記述する手間を省けます。ニューラルエンジンでは NTTS 専用の タグで、ニュースキャスター風や会話風のスタイルを適用できます。
合成方式と統合
Polly は 2 つの合成方式を提供します。SynthesizeSpeech API はリアルタイムでテキストを音声に変換し、オーディオストリームを返します。レスポンスをそのまま再生するか、ファイルに保存します。3,000 文字以下のテキストに適しています。StartSpeechSynthesisTask API は非同期合成で、長文テキストを S3 バケットに MP3 や OGG 形式で出力します。最大 200,000 文字のテキストを処理でき、書籍の朗読音声や大量のアナウンス音声の一括生成に適しています。SpeechMark 機能でテキストと音声のタイミング情報 (ワード単位、文単位) を取得でき、字幕の自動同期やリップシンクに活用できます。Connect との統合で IVR の音声案内を動的に生成し、Lex との組み合わせで音声対話ボットを構築します。 音声技術の活用についてはAmazon の関連書籍も参考になります。
Polly の料金
Polly の料金は処理した文字数に基づく従量課金です。ニューラルエンジンは 100 万文字あたり約 16.00 ドル、標準エンジンは 100 万文字あたり約 4.00 ドルです。Generative エンジンは 100 万文字あたり約 30.00 ドルです。Long-Form エンジンは 100 万文字あたり約 100.00 ドルと高額ですが、書籍朗読などの高品質な長文音声に特化しています。無料利用枠として、最初の 12 か月間はニューラルエンジン 100 万文字/月、標準エンジン 500 万文字/月が無料です。SSML タグは文字数にカウントされないため、SSML を活用してもコストは増加しません。
音声とエンジンの選択
Polly は多数の言語と話者の音声を提供し、用途に合わせて選べます。音声合成のエンジンにはいくつかの種類があり、自然さと用途が異なります。より人間に近い滑らかな音声を出すエンジンは、ナレーションや対話に向きます。長文の読み上げに最適化されたエンジンや、表現力の高いエンジンもあります。エンジンによって対応する言語や料金が異なるため、求める品質と予算のバランスで選びます。ブランドの雰囲気に合う話者を選ぶことも、聞き手の印象を左右します。用途・言語・コストの観点から、最適な音声とエンジンの組み合わせを見極めます。
発音のカスタマイズ
固有名詞や専門用語、略語は、そのままでは意図どおりに読まれないことがあります。Polly では、発音をカスタマイズする仕組みが用意されています。SSML というマークアップを使えば、読み方や区切り、強調、間の取り方を細かく制御できます。特定の語の読みをあらかじめ定義する辞書を用意しておけば、社名や製品名を一貫して正しく読ませられます。数字や日付の読み上げ方も指定できます。こうした調整を施すことで、機械的な誤読を防ぎ、聞き手にとって自然で分かりやすい音声に仕上げられます。発音の作り込みが、音声コンテンツの品質を決めます。
ユースケースと配信
Polly は、幅広い場面で活用できます。電話の自動応答における案内音声、e ラーニング教材のナレーション、記事を音声で読み上げるアクセシビリティ対応、ニュースやポッドキャスト風の音声コンテンツなどが代表例です。リアルタイムに音声をストリーミングして即座に再生する方式と、長い文章をまとめて合成して S3 に保存する方式があり、用途で使い分けます。生成した音声ファイルを CloudFront で配信すれば、多くの利用者へ効率的に届けられます。テキストさえあれば多様な音声を生み出せるため、コンテンツ展開の幅を大きく広げられます。
運用とコスト最適化
Polly の料金は、合成した文字数に応じて課金されます。同じ文言を繰り返し読み上げる場合は、毎回合成し直すのではなく、生成した音声ファイルを保存して再利用することで、合成回数とコストを抑えられます。固定的な案内文や定型メッセージは、あらかじめ合成しておくキャッシュ戦略が有効です。大量の文章は非同期での一括合成が効率的です。動的に変わる部分だけをリアルタイム合成し、固定部分はキャッシュから返す、といった組み合わせも考えられます。読み上げる文字量を意識した設計が、コストを管理しながら音声機能を提供する鍵になります。
まとめ
Amazon Polly はニューラル TTS エンジンで自然な音声を生成するサービスです。SSML による細かな音声制御、リアルタイムストリーミングと非同期合成の 2 つの合成方式、SpeechMark による字幕同期など、多様な音声コンテンツの構築に対応します。Connect や Lex との統合で、音声対話システムの構築にも活用できます。