SynthesizeSpeech - Amazon Polly

SynthesizeSpeech

UTF-8 入力 (プレーンテキストまたは SSML) をバイトストリームに合成します。SSML 入力は、有効で正しい形式の SSML でなければなりません。音素マッピングを使用しない場合、一部のアルファベットはすべての音声で使用できない可能性があります (例えば、キリル文字は英語の音声ではまったく読み取れない場合があります)。詳細については、仕組みを参照してください。

リクエストの構文

POST /v1/speech HTTP/1.1 Content-type: application/json { "Engine": "string", "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "SampleRate": "string", "SpeechMarkTypes": [ "string" ], "Text": "string", "TextType": "string", "VoiceId": "string" }

URI リクエストパラメータ

リクエストでは URI パラメータを使用しません。

リクエストボディ

リクエストは以下の JSON 形式のデータを受け入れます。

Engine

入力テキストを音声合成処理する際に Amazon Polly で使用するエンジン (standardneurallong-form、または generative) を指定します。選択した音声がサポートしているエンジンを指定します。エンジンを指定しない場合、標準エンジンがデフォルトで選択されます。選択した音声が標準エンジンでサポートされていない場合は、エラーが発生します。Amazon Polly の音声と、どの音声が各エンジンで使用可能かについては、「使用可能な音声」を参照して下さい。

型: 文字列

有効な値: standard | neural | long-form | generative

必須: はい

型: 文字列

有効な値: standard | neural | long-form | generative

必須:いいえ

LanguageCode

音声合成リクエストのオプション言語コード。これは、インド英語 (en-IN) とヒンディー語 (hi-IN) のどちらにも使用できる Aditi などのバイリンガル音声を使用する場合にのみ必要です。

バイリンガル音声の使用時に言語コードが指定されていない場合、Amazon Polly はバイリンガル音声のデフォルト言語を使用します。音声のデフォルト言語は、LanguageCode パラメータの DescribeVoices オペレーションによって返される言語です。例えば、言語コードが指定されていない場合、Aditi はヒンディー語ではなくインド英語を使用します。

型: 文字列

有効な値: arb | cmn-CN | cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-MX | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR | nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR | en-NZ | en-ZA | ca-ES | de-AT | yue-CN | ar-AE | fi-FI | en-IE | nl-BE | fr-BE

必須:いいえ

LexiconNames

合成時にサービスが適用する 1 つ以上の発音レキシコン名のリスト。レキシコンは、レキシコンの言語が音声の言語と同じ場合にのみ適用されます。レキシコンの保存方法については、PutLexicon を参照してください。

型: 文字列の配列

配列メンバー: 5 つの項目の最大数。

パターン: [0-9A-Za-z]{1,20}

必須: いいえ

OutputFormat

返された出力がエンコードされる形式。オーディオストリームの場合、これは mp3、ogg_vorbis、または pcm になります。スピーチマークの場合、これは json になります。

pcm を使用する場合に返されるコンテンツは、符号付きの 16 ビット、1 つのチャネル (モノ)、リトルエンディアン形式の audio/pcm です。

型: 文字列

有効な値: json | mp3 | ogg_vorbis | pcm

必須: はい

SampleRate

Hz で指定したオーディオ周波数。

mp3 および ogg_vorbis の有効な値は「8000」、「16000」、「22050」、および「24000」です。標準音声のデフォルト値は「22050」です。ニューラル音声のデフォルト値は「24000」です。ロングフォーム音声のデフォルト値は「24000」です。生成音声のデフォルト値は「24000」です。

pcm の有効な値は「8000」と「16000」です。デフォルト値は「16000」です。

型: 文字列

必須: いいえ

SpeechMarkTypes

入力テキストに対して返されるスピーチマークのタイプ。

型: 文字列の配列

配列メンバー: 最大数は 4 項目です。

有効な値: sentence | ssml | viseme | word

必須:いいえ

Text

合成する入力テキスト。ssmlTextType として指定した場合は、入力テキストの SSML 形式に従います。

型: 文字列

必須: はい

TextType

入力テキストがプレーンテキストか SSML かを指定します。デフォルト値はプレーンテキストです。詳細については、「SSML の使用」を参照してください。

型: 文字列

有効な値: ssml | text

必須:いいえ

VoiceId

合成に使用する音声 ID。DescribeVoices オペレーションを呼び出すと、使用可能な音声 ID のリストを取得できます。

型: 文字列

有効な値: Aditi | Amy | Astrid | Bianca | Brian | Camila | Carla | Carmen | Celine | Chantal | Conchita | Cristiano | Dora | Emma | Enrique | Ewa | Filiz | Gabrielle | Geraint | Giorgio | Gwyneth | Hans | Ines | Ivy | Jacek | Jan | Joanna | Joey | Justin | Karl | Kendra | Kevin | Kimberly | Lea | Liv | Lotte | Lucia | Lupe | Mads | Maja | Marlene | Mathieu | Matthew | Maxim | Mia | Miguel | Mizuki | Naja | Nicole | Olivia | Penelope | Raveena | Ricardo | Ruben | Russell | Salli | Seoyeon | Takumi | Tatyana | Vicki | Vitoria | Zeina | Zhiyu | Aria | Ayanda | Arlet | Hannah | Arthur | Daniel | Liam | Pedro | Kajal | Hiujin | Laura | Elin | Ida | Suvi | Ola | Hala | Andres | Sergio | Remi | Adriano | Thiago | Ruth | Stephen | Kazuha | Tomoko | Niamh | Sofie | Lisa | Isabelle | Zayd | Danielle | Gregory | Burcu

必須: はい

レスポンスの構文

HTTP/1.1 200 Content-Type: ContentType x-amzn-RequestCharacters: RequestCharacters AudioStream

レスポンス要素

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

レスポンスでは、以下の HTTP ヘッダーが返されます。

ContentType

オーディオストリームのタイプを指定します。これは、リクエストの OutputFormat パラメータを反映したものでなければなりません。

  • mp3OutputFormat としてリクエストした場合、返される ContentType は audio/mpeg です。

  • ogg_vorbisOutputFormat としてリクエストした場合、返される ContentType は audio/ogg です。

  • pcmOutputFormat としてリクエストした場合、返される ContentType は、符号付きの 16 ビット、1 つのチャネル (モノ)、リトルエンディアン形式の audio/pcm です。

  • jsonOutputFormat としてリクエストした場合、返される ContentType は application/x-json ストリームになります。

RequestCharacters

合成された文字数。

レスポンスは、HTTP 本文として以下を返します。

AudioStream

合成された音声を含むストリーム。

エラー

EngineNotSupportedException

このエンジンは、指定された音声に対応していません。エンジンが対応する新しい音声を選択するか、エンジンを変更してオペレーションを再開してください。

HTTP ステータスコード:400

InvalidSampleRateException

指定されたサンプルレートが無効です。

HTTP ステータスコード:400

InvalidSsmlException

提供された SSML が無効です。SSML 構文、タグと値のスペルを確認し、もう一度試してください。

HTTP ステータスコード:400

LanguageNotSupportedException

指定された言語は、現在 Amazon Polly がこの容量でサポートしていません。

HTTP ステータスコード:400

LexiconNotFoundException

Amazon Polly は、指定されたレキシコンを見つけることができません。これは、レキシコンが見つからない、その名前のスペルが間違っている、または別のリージョンにあるレキシコンが指定されていることが原因である可能性があります。

レキシコンが存在すること、リージョンにあること (ListLexicons を参照)、名前のスペルが正しいことを確認します。その後、もう一度試してください。

HTTP ステータスコード: 404

MarksNotSupportedForFormatException

選択された OutputFormat では、スピーチマークはサポートされていません。スピーチマークは、json 形式のコンテンツに対してのみ使用できます。

HTTP ステータスコード:400

ServiceFailureException

不明な状態が原因で、サービス障害が発生しました。

HTTP ステータスコード:500

SsmlMarksNotSupportedForTextTypeException

SSML スピーチマークは、プレーンテキストタイプの入力ではサポートされていません。

HTTP ステータスコード:400

TextLengthExceededException

「テキスト」パラメータの値が、許容される上限より長くなっています。SynthesizeSpeech API の場合、入力テキストの制限は合計で最大 6,000 文字で、そのうち請求対象文字は 3,000 文字までに制限されています。StartSpeechSynthesisTask API の場合、最大 200,000 文字で、そのうち請求対象文字は 100,000 文字までに制限されています。SSML タグは、課金対象文字としてカウントされません。

HTTP ステータスコード:400

以下の資料も参照してください。

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。