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 で使用するエンジン (
standard
、neural
、long-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
-
合成する入力テキスト。
ssml
をTextType
として指定した場合は、入力テキストの 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
パラメータを反映したものでなければなりません。-
mp3
をOutputFormat
としてリクエストした場合、返されるContentType
は audio/mpeg です。 -
ogg_vorbis
をOutputFormat
としてリクエストした場合、返されるContentType
は audio/ogg です。 -
pcm
をOutputFormat
としてリクエストした場合、返されるContentType
は、符号付きの 16 ビット、1 つのチャネル (モノ)、リトルエンディアン形式の audio/pcm です。 -
json
をOutputFormat
としてリクエストした場合、返される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 を使用する方法の詳細については、以下を参照してください。